Operaciones de grabación

Puede controlar manualmente cuándo se grabarán los datos modificados de la sesión en la base de datos o en otra instancia de WebSphere Application Server mediante el método de sincronización de la interfaz com.ibm.websphere.servlet.session.IBMSession. La actualización manual, el servlet de fin de sevicio y las modalidades de frecuencia de grabación basadas en el tiempo están disponibles para ajustar la frecuencia de grabación de los datos de la sesión.

Esta interfaz amplía la interfaz javax.servlet.http.HttpSession. Con la llamada al método de sincronización desde el método de servicio de un servlet, puede enviar los cambios de la sesión a la ubicación externa. Cuando se selecciona la actualización manual como modalidad de frecuencia de grabación, se grabarán los cambios en los datos de la sesión a una ubicación externa sólo si la aplicación llama al método de sincronización. Si no se llama al método de sincronización, se perderán los cambios efectuados en los datos de la sesión cuando el objeto de sesión abandone la antememoria del servidor. Si la modalidad de frecuencia de grabación es de final del servlet de servicio o basada en tiempo, cada vez que se llame al método de sincronización, se grabarán los cambios efectuados en los datos de la sesión. Si no se llama al método de sincronización, se grabarán los cambios al final del método de servicio o a intervalos de tiempo determinados basándose en modalidad de frecuencia de grabación seleccionada.

IBMSession iSession = (IBMSession) request.getSession();
iSession.setAttribute("name", "Bob");

//fuerza la grabación en un almacén externo
iSession.sync( )

Si la base de datos no está activada o si está teniendo dificultades al conectarse durante la actualización de los valores de sesión, el método de sincronización siempre realiza tres intentos antes de que finalmente genere un error BackedHashtable.getConnectionError. Para todos los intentos de conexión que no se realizan correctamente, se genera "BackedHashtable.StaleConnectionException" que se puede encontrar en el método de sincronización. Si se abre la base de datos durante cualquiera de estos tres intentos, los datos de sesión de la memoria se almacenan y comprometen en la base de datos.

No obstante, si la base de datos todavía no se ha activado después de los tres intentos, los datos de sesión de la memoria se almacenan sólo después de la siguiente comprobación para la invalidación de sesión. La invalidación de sesión se comprueba mediante una hebra independiente que se desencadena cada cinco minutos. Los datos en la memoria son coherentes, a menos que una petición de los datos de sesión se emita al servidor entre estos sucesos. Por ejemplo, si la petición de los datos de sesión se emite al cabo de cinco minutos, se envían los datos de sesión persistentes anteriores.

Las sesiones nos son recursos transaccionales. Dado que el método de sincronización está asociado con una hebra independiente del cliente, la excepción que se crea no se propaga al cliente, que se ejecuta en la hebra primaria. La integridad transaccional de los datos se puede mantener mediante los recursos tales como enterprise beans.


Icon that indicates the type of topic Concept topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cprs_write_ops
File name: cprs_write_ops.html