Desarrollo de un cliente de aplicación empresarial o enterprise bean para gestionar sesiones de actividad
Utilice esta tarea para escribir el código que necesita un cliente de aplicación empresarial o EJB de sesión para gestionar una sesión de actividad, según el extracto del código de ejemplo proporcionado.
Acerca de esta tarea
En la mayoría de las situaciones, un enterprise bean puede depender de un contenedor de EJB para gestionar las sesiones de actividad del bean. En estas situaciones, basta con establecer los atributos de sesión de actividad adecuados en el descriptor de despliegue del módulo EJB, como se describe en el tema sobre configuración de atributos de despliegue de sesión de actividad del módulo EJB. En general, resulta muy práctico diseñar los enterprise beans de modo que toda la gestión de sesión de actividad se maneje a nivel de enterprise bean.
No obstante, en algunos casos, puede que necesite que un cliente de aplicación empresarial o bean de sesión participen directamente en sesiones de actividad. A continuación, debe escribir el código que necesita un cliente de aplicación empresarial o bean de sesión para gestionar sus propias sesiones de actividad.
Cuando vaya a escribir el código necesario para un cliente de aplicación empresarial o un bean de sesión para gestionar sesiones de actividad, tenga en cuenta los puntos descritos en el tema sobre Contextos de sesión de actividad y de transacción.
Para escribir el código que necesita un cliente de aplicación empresarial o EJB de sesión para gestionar una sesión de actividad, complete los siguientes pasos basados en el siguiente extracto de código de ejemplo.
Procedimiento
Ejemplo
// Obtener contexto inicial
InitialContext ic = new InitialContext();
// Buscar UserActivitySession
UserActivitySession uas =
(UserActivitySession)ic.lookup("java:comp/websphere/UserActivitySession");
// Establecer tiempo de espera de sesión de actividad en 60 segundos
uas.setSessionTimeout(60);
// Iniciar un contexto de sesión de actividad nuevo
uas.beginSession();
// Trabajar en este contexto
MyBeanA beanA.doSomething();
...
MyBeanB beanB.doSomethingElse();
// Finalizar el contexto
uas.endSession(EndModeCheckpoint);