Ver Mensaje Individual
  #11 (permalink)  
Antiguo 05/03/2009, 10:31
Avatar de TolaWare
TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 10 meses
Puntos: 24
Respuesta: Variables globales en jsp

Cita:
Iniciado por GreenEyed Ver Mensaje
No confundir sesión con petición. Cada petición va en un Thread diferente. Las peticiones de una sesión no tienen nada que ver, a nivel de variables, excepto lo que se obtenga a través del objeto de sesión. En todo lo demás son igual que peticiones de distintas sesiones.



No exactamente. Por requerimientos de la especificación (sección srv 2.2 Number of Instances), a no ser que el servlet este en un entorno distribuido o implemente la interfaz SingleThreadModel, sólo debe existir una instancia de servlet por declaración, lo cual en el caso de los servlets lleva a una instancia por JSP. De hecho, que haya más de una instancia en un entorno normal, no tiene ningún sentido por que no mejoraría en nada el rendimiento, de hecho empeoraría el uso de memoria, y a cambio introduciría más aleatoriedad en las peticiones concurrentes. Así que no es que "pueda ser compartida por más de un cliente", es que todos los clientes comparten la misma por que así lo manda la especificación.

Quizá estes confundiendo el modelo de instancias compartidas con lo que se hace con los EJB de sesión, que si funcionan así.


S!

PD: Si, quisquilloso, ya lo se . Pero es que estas cosas son importantes para comprender por que a veces pasa lo que pasa, y además por que es bueno saber como se hacen las cosas para poder "imitarlas" cuando tenemos problemas similares (Yo he usado el modelo de 1 instancia + multiples threads para otras cosas). Y mejor dejarlo claro cuanto antes.
Estás en lo cierto GreenEyed. Muchas gracias por la aclaración.
__________________
http://blog.tolaware.com.ar -> Blog de Java, Ruby y Linux