Sincronizar en Struts
Publicado por
emmel (1 intervención) el 06/02/2009 23:09:56
Hola!
Tengo una aplicacion web y a dicha aplicacion tiene usuarios conectados simultaneamente.
El problema es el siguiete:
En la jsp, al presionar un boton de Aceptar va a la clase Configuration Action, y esta clase hace un session.setattribute("configuration", config_object) para guardar unos objetos en la sesion, despues este redirecciona a la clase Generation Action.
La clase Generation Action hace un session.getattribute("configuration") para obtener el objeto guardado en la clase Configuration Action, despues esta clase
hace un session.setattribute("generation", generation_object), y session.setattribute("configuration", config_object_modified), despues esta clase redirecciona a la jsp de salida.
En la jsp obtiene los atributos de la siguiente manera:
<jsp:useBean id="generation" scope="session" class="package.generationActionForm"></jsp:useBean>
<jsp:useBean id="configuration" scope="session" class="package.configurationActionForm"></jsp:useBean>
El problema ocurre cuando dos usuarios presionan el boton aceptar. Supongo que el setattribute se esta guardando como applicacion scope (getServlet().setattribute..) porque ambos usuarios despliegan la aplicacion con la misma informacion y ellos iniciaron con la configuracion diferente. si el usuario accede en diferentes segundos la aplicacion funciona correctamente.
Si sincronizo (synchronize) el metodo de la clase Configuration Action y la clase Generation Action la aplicacion funciona correctamente; pero no deseo esto, porque si el usuario accede a la base de datos y hace una consulta SQL la ejecucion es muy lenta, el segundo usuario tendra que esperar mientras el primer usuario termina.
Gracias de antemano