Ver Mensaje Individual
  #8 (permalink)  
Antiguo 09/06/2014, 11:32
Avatar de chuidiang
chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: Web Service que se ejecuta varias veces al mismo tiempo

Hola:

Glassfish entiendo que gestiona bien las conexiones. Si has puesto un web service, lo normal es que sea una clase que esté en un servlet espceífico de jax-ws y no se haga mas que una sola instancia de esa clase en todo glassfish. Cualquier atributo de la clase sea o no static (en tu ejemplo Persona pers) es compartido para todas las llamadas, por lo que si tienes varias peticiones simultaneas (una petición sin que haya acabado la anterior), pueden "machacar" ese atributo.

Intenta hacerlo usando solo variables locales de los métodos (en el ejemplo que pones es inmediato) y si no es posible, guarda esos valores bien en la sesión web, o bien déjalo como atributo de clase pero usa "synchronized" desde el primer método donde recibes la llamada, aunque no es buena idea porque un cliente tendrá que esperar a que termine el anterior.

Se bueno.
__________________
Apuntes Java
Wiki de Programación