
29/11/2011, 06:03
|
| | Fecha de Ingreso: mayo-2011
Mensajes: 16
Antigüedad: 13 años, 9 meses Puntos: 0 | |
Respuesta: Concurrencia en java Al final he descubierto lo que pasaba, pero todavia no lo he arreglado, en la funcion actualizaMovimiento, que tiene dos parametros, uno de ellos es un objeto estado de tipo String y que en MiServlet, lo he puesto de tipo global.
Cuando se lanzan las peticiones obtiene un estado por cada peticion, pero parece ser que de la primera petición a la 2 petición, al hacerse las peticiones casi a la vez , en la primera petición se recoge el objeto estado de la 2 petición, y claro así da error.
O sea:
1 peticion :
Estado = Iniciado
2 peticion :
Estado = OK
1 petición :
actualizaMovimiento(time, OK)//aqui recoge el objeto estado de la segunda petición y esto es erroneo
2 petición:
actualizaMovimiento(time, OK)// aqui esta bien
Podriamos decir que cada petición esta cogiendo el objeto del siguiente,o sea que el objeto de miServlet-Estado , no se mantiene en cada petición si no que directamente por cada hilo que se abre se mantiene dicho Objeto con los valores nuevos que se le de.
No mando la excepcion , por que al final no habia ninguna excepcion en actualizar, si no es problema del propio objeto.
Un saludo
Alfonso |