elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Web Service que se ejecuta varias veces al mismo tiempo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Web Service que se ejecuta varias veces al mismo tiempo  (Leído 2,752 veces)
Recca

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Web Service que se ejecuta varias veces al mismo tiempo
« en: 9 Junio 2014, 12:31 pm »

Buenos días,

Estoy teniendo un problema que no estoy segura de cómo resolver.

He montado un servicio Web con distintos métodos, uno de los cuáles consume otro servicio Web para obtener información de una herramienta. Básicamente mi método obtiene un ID a partir de un nombre y realiza una serie de updates.

El problema es que se ejecutan varias llamadas a mi método y algunas veces al mismo tiempo. Por ejemplo:

- Se ejecutan 2 llamadas a la vez, la primera con el parámetro nombre1 y la segunda con el parámetro nombre2.
- La primera de ellas obtiene el resultado ID1 y lo almacena en una variable, pero antes de que termine de ejecutarse, la segunda de ellas obtiene el resultado ID2, lo que hace que (esto ya no entiendo por qué) el valor de la variable donde almaceno el ID de la primera llamada se modifique.
- Al final el resultado es que en mitad de la ejecución de la primera llamada, la variable cambia del valor ID1 al ID2 y posteriormente se realiza la update sobre el registro equivocado.

Actualmente la variable donde almaceno el ID la tengo declarada a nivel de clase, como un atributo de la misma, ¿serviría si en lugar de esto la creo como un atributo del método?

Muchas gracias por adelantado.

Un saludo.


En línea

Recca

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Web Service que se ejecuta varias veces al mismo tiempo
« Respuesta #1 en: 9 Junio 2014, 18:43 pm »

Intentaré aportar un poco más de información:

- El servidor donde tengo publicado mi servicio es un Glassfish.
- Mi servicio está desarrollado en JAX-WS, aunque el mismo, a su vez, es un cliente que consume el servicio de otra herramienta usando Axis2 (dadas las necesidades del proyecto, esta era la única posibilidad).

Un ejemplo similar de mi servicio sería algo así:

Código:
class Modificador
{
// Objeto para almacenar la estructura de una persona (objeto personalizado de la herramienta destino)
Persona pers;

...
...
...


public cambiar_edad (string nombre, int edad)
{
string query = "SELECT * FROM personas WHERE nombre = " + nombre;

// El método executeQuery devuelve un objeto de tipo "Persona"
pers = servicio.executeQuery (query);

...
...

// En el momento en que se están haciendo estas operaciones es cuando llega otra llamada al mismo método
// y machaca el valor de la variable pers.

...
...

pers.edad = edad;
servicio.update(pers); //Por tanto, el update se realiza sobre el registro que no debe
}

...
...
}

No sé si se entiende bien... Yo creo que el problema está en el Glassfish que no gestiona bien las conexiones, pero creo que podría solucionarlo directamente en el código mediante la variable pers, quizá debería declararla a nivel de método en lugar de hacerlo a nivel de clase, o quizá ponerle un synchronized al método "cambiar_edad". El problema es que no estoy segura y no puedo hacer cambios a la ligera porque no hay entorno de desarrollo :(

Muchas gracias.

Un saludo.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ejecutar el mismo programa varia veces al mismo tiempo
Dudas Generales
narizota 3 9,375 Último mensaje 8 Enero 2011, 17:25 pm
por simorg
ejecutar varias veces el mismo software
Ingeniería Inversa
JOSE968 7 7,967 Último mensaje 2 Marzo 2013, 08:50 am
por MCKSys Argentina
llamar varias veces a un mismo proceso
PHP
valen46 0 1,590 Último mensaje 10 Febrero 2014, 11:47 am
por valen46
Página web con varias veces el mismo archivo
Desarrollo Web
MA40 7 5,114 Último mensaje 19 Febrero 2014, 17:41 pm
por MA40
¿Cómo ejecutar varias veces el mismo programa?
Dudas Generales
ambigus9 5 10,567 Último mensaje 14 Septiembre 2014, 19:16 pm
por quiAnar
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines