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.

Nota: Los beans de sesión que utilizan BMT y tienen un valor Activar en de Sesión de actividad pueden gestionar sesiones de actividad. Los beans de entidad no pueden gestionar sesiones de actividad; el contenedor de EJB siempre gestiona sesiones de actividad dentro de los beans de entidad.

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

  1. Obtenga un contexto inicial para la sesión de actividad.
  2. Obtenga una implementación de la interfaz UserActivitySession, realizando una búsqueda JNDI del URL java:comp/websphere/UserActivitySession. La interfaz UserActivitySession se utiliza para iniciar y finalizar las sesiones de actividad y para consultar los diferentes atributos de la sesión de actividad activa asociada a la hebra.
  3. Establezca el tiempo de espera, en segundos, después del cual el servicio de sesión de actividad completará automáticamente toda sesión de actividad que se inicie posteriormente. Si el cliente de aplicación empresarial o bean de sesión no configura específicamente este valor, se utiliza el valor de tiempo de espera predeterminado (300 segundos).

    El tiempo de espera predeterminado también se puede alterar temporalmente para cada servidor de aplicaciones, en el panel servidor-> Servicio de sesión de actividad de la consola administrativa.

  4. Inicie la sesión de actividad, llamando al método beginSession() de UserActivitySession.
  5. Dentro de la sesión de actividad, llame a los métodos de empresa para que realicen el trabajo necesario. También puede llamar a otros métodos de UserActivitySession para gestionar la sesión de actividad. Por ejemplo, para obtener el estado de la sesión de actividad o para aplicar un punto de comprobación en todos los recurso de la sesión de actividad implicados en la sesión de actividad.
  6. Finalice la sesión de actividad, llamando al método endSession() de UserActivitySession.

Ejemplo

En el extracto de código siguiente, se muestra un ejemplo básico de utilización de la interfaz UserActivitySession:
// 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);

Icon that indicates the type of topic Task topic



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