Aplicacion multiusuario, con servlets, problemas memoria compartida???
Hola a tod@s, tengo una duda que no me deja dormir, estoy desarrollando una aplicacion con tomcat 5, servlets, xml y xsl. Tengo un servlet principal que es el que recibe todas las peticiones de los usuarios, y este redirecciona por los demas servlets o clases java. Hay algun problema si pongo variables a nivel de objeto y no estan declaradas a nivel de mĂ©todo?. En el servlet principal no lo hago asĂ porque ya vĂ que so habĂa problemas, pero puede pasar lo mismo si lo hago en las demas clases o servlets.
Gracias por escucharme.
Gracias por escucharme.
En los servlets no tendrĂas que utilizar variables de instancia que puedan ser modificadas por cada request del cliente ya que como veo que has comprobado una misma instancia de un servlet puede atender a varios request concurrentes. Con las clases tendrĂas que utilizar un razonamiento similar, si tenes alguna clase que pensas utilizar como una especie de "servicio" (una instancia de esa clase va a atender a distintos clientes, ej. algĂșn singleton o alguna clase que mantes cacheada) vas a tener que tener mucho cuidado con el uso de variables de instancia. Para los demas casos donde cada "cliente" crea y mantine una referencia a una determinada instancia de clase no vas a tener problema.
Oka, gracias por la aclaracion, creo que no debo tener problemas segun lo que me has contestado, por que tengo un servlet principal por el que entran todas las peticiones, y este digamos que es el dispatcher de la aplicacion que va llamando a otros servlets y estos a su vez llaman a clases java. Si el servlet principal abre un hilo nuevo de ejecucion por cada peticion, no deberia haber problema de memoria compartida, de todas formas haré mas pruebas para asegurarme, y os comentaré los resultados.
Gracias maramonar.
Gracias maramonar.
