Ejemplos de sesión de actividad
WebSphere Application Server proporciona algunos ejemplos de sesión de actividad.
- Ejemplo de MasterMind
- Este ejemplo está basado en el juego MasterMind. Está formado por los componentes siguientes:
- Un servlet, configurado con el atributo de tipo de control de sesión de actividad establecido en Contenedor, que accede a un bean de sesión con estado.
- Un bean de sesión con estado, configurado con una política de activación de sesión de actividad que contiene datos transitorios de estado.
El servlet inicia una sesión Http al principio de cada juego nuevo y la termina al final de cada juego, por lo tanto la sesión de actividad dura el tiempo que dura un juego. La política de activación de sesión de actividad impide que bean se desactive y, por lo tanto, los datos transitorios permanecen en la memoria. Esto demuestra la asociación entre la sesión Http y la sesión de actividad en el contenedor web y una política de activación en el ámbito de la sesión actividad.
- Un contenedor de clientes de aplicación empresarial y un bean de entidad CMP respaldados por un origen de datos de confirmación de una fase
- En este ejemplo, el bean de entidad se
configura con las propiedades siguientes:
- TX_NOT_SUPPORTED
- Una política de REQUIRES gestionada por un contenedor de sesión de actividad
- Un límite de LTC de sesión de actividad
- Un control de resolución de LTC de ContainerAtBoundary
El cliente accede a UserActivitySession inicia una sesión de actividad actualiza dos instancias del bean y finaliza dicha sesión de actividad. Realiza esta operación dos veces utilizando EndModeReset y después EndModeCheckpoint. Este ejemplo demuestra las funciones siguientes:- Acceso de cliente a la interfaz UserActivitySession
- Varias transacciones locales del gestor de recursos (RMLT) cuyo ámbito es la sesión de actividad y que obtienen automáticamente la dirección de terminación de la sesión de actividad.
El bean de entidad también conserva una variable transitoria que cada llamada de método incrementa (obtiene y establece para los datos persistentes). Este valor se verifica antes del final de la sesión de actividad para comprobar que se ha utilizado la misma instancia de bean. El cliente comprueba si los resultados son correctos.
- Un contenedor de clientes de aplicación empresarial y dos beans de sesión con diferentes tipos de sesión de actividad.
- Este ejemplo se compone de un contenedor de clientes de aplicación empresarial y los
beans de sesión siguientes:
- SLB1, un bean de sesión sin estado configurado con un Tipo de sesión de actividad de Bean.
- SFB2, un bean de sesión con estado configurado con un Tipo de sesión de actividad de Requires, un límite de LTC de sesión de actividad, un control de resolución de LTC de APPLICATION y una acción no resuelta de LTC de ROLLBACK.
Los dos beans se configuran con TX_NOTSUPPORTED.
Este ejemplo consta de los pasos siguientes:- El cliente inicia SLB1.
- SLB1 accede a la interfaz UserActivitySession, inicia una sesión de actividad y después llama a un método en SFB2.
- SFB2 accede a la interfaz UserActivitySession, inicia una sesión de actividad y llama a un método en SFB2.
- SFB2 obtiene una conexión (setAutoCommit false) y a continuación, utiliza JDBC para actualizar un origen de datos de una sola fase.
- De forma opcional, SLB1 llama a un método independiente en SFB2 para finalizar el trabajo, comprometiendo o retrotrayendo la RMLT.
- A continuación, SLB1 finaliza la sesión de actividad con EndModeCheckpoint.
Este ejemplo demuestra las funciones siguientes:- La dirección de terminación de sesión de actividad está desconectada de la dirección de las RMLT, aunque la contención de las RMLT está enlazada a la sesión de actividad.
- El contenedor que está utilizando la acción no resuelta cuando la transacción RMLT no se ha completado.
- Unas sesiones de actividad gestionadas por bean mediante la interfaz UserActivitySession.
El ejemplo busca los resultados correctos y los notifica al cliente.