Utilice esta tarea para establecer los atributos de despliegue de sesión de actividad
para un enterprise bean con el fin de que el bean pueda participar en un contexto de
sesión de actividad y dé soporte a operaciones basadas en sesión de actividad.
Antes de empezar
Esta descripción de tarea da por sentado que tiene un archivo de archivado
empresarial (EAR) que contiene un enterprise bean de aplicación que se puede desplegar en
WebSphere Application Server.
Para obtener información más detallada, consulte el tema sobre ensamblaje de aplicaciones.
Acerca de esta tarea
Puede configurar los atributos de despliegue de una aplicación mediante la herramienta de ensamblaje. En este tema se describe el uso de Rational Application Developer para configurar los
atributos de despliegue de sesión de actividad.
Estos atributos se añaden a los demás atributos de despliegue; por ejemplo, "Cargar en", que especifica cuándo el bean carga su estado de la base de datos. Para obtener información detallada sobre los campos de la herramienta de ensamblaje y para obtener ayuda sobre las tareas asociadas, consulte la información de Rational Application
Developer.
Para establecer los atributos de
despliegue de sesión de actividad para un enterprise bean, realice los pasos siguientes:
Procedimiento
- Inicie la herramienta de ensamblaje. Para obtener más información,
consulte la información de
Rational
Application Developer.
- Cree o edite el archivo EAR de la aplicación.
Nota: Asegúrese de que ha establecido el servidor de destino como WebSphere Application Server Versión 7.0.
Por ejemplo, para cambiar los atributos de una aplicación
existente, utilice el asistente de importación para importar el archivo EAR en
la herramienta de ensamblaje.
Para iniciar el asistente de importación:
- Pulse
.
- Pulse Siguiente y seleccione el archivo EAR.
- En el campo del servidor de destino, seleccione WebSphere Application Server v7.0.
- Pulse Finalizar.
- En la vista Explorador de proyectos de la perspectiva
Java™
EE, pulse con el botón derecho ratón el módulo EJB para la instancia del enterprise bean
y, a continuación, pulse . En el panel de propiedades aparece un cuaderno de diálogo de
propiedades de la instancia del enterprise bean.
- En el panel de propiedades, seleccione el separador Beans.
- Seleccione el bean que desea modificar.
- En la sección Extensiones de WebSphere, debajo de Memoria caché de bean, establezca el
atributo Activar en igual a Sesión de actividad:
Un enterprise bean con esta política de activación se activa y desactiva como se describe a continuación:
- En un límite de la sesión de actividad, si un contexto de sesión de actividad está presente en la
activación.
- En un límite de transacciones, si un contexto de transacción está presente en la
activación, pero no lo está un contexto de sesión de actividad.
- En otros casos, en un límite de invocación.
- En el recuadro de grupo Transacciones locales, establezca el atributo Límite en Sesión de actividad: Cuando se utiliza este valor, la transacción local se debe resolver en el ámbito de
la sesión de actividad donde se ha iniciado o, si no existe ningún contexto de
sesión de actividad, en el mismo método de bean donde se ha iniciado.
Un valor de sesión de actividad no se aplica a ninguno de los métodos iniciales EJB; por ejemplo, los métodos create o finder. Los métodos iniciales EJB no pueden participar en una sesión de actividad porque esta situación podía ocasionar puntos muertos.
- Para los beans de entidad o beans de sesión, establezca las propiedades de sesión de actividad para cada método EJB.
- En el panel de propiedades, seleccione el separador Sesión de actividad.
- En el campo Configurar políticas de sesión de actividad, pulse Añadir o
Editar para establecer el atributo Clase de sesión de actividad para los métodos del enterprise
bean. Esto especificará el modo en que el contenedor debe gestionar los límites de sesión de actividad cuando delega una invocación de método a un método de empresa de un
enterprise bean:
- Never
- El contenedor invoca los métodos de bean sin un contexto de
sesión de actividad.
- Si el cliente invoca un método de bean desde dentro de un contexto de sesión de actividad, el
contenedor genera una excepción InvalidActivityException, que es una excepción
javax.rmi.RemoteException.
- Si el cliente invoca un método de bean desde fuera de un contexto
de sesión de actividad, el contenedor se comporta de la misma forma que si
se hubiese establecido el valor No soportado. El cliente debe
llamar al método sin un contexto de sesión de actividad.
- Mandatory
- El contenedor siempre invoca el método de
bean dentro del contexto de sesión de actividad asociado con el cliente. Si el cliente intenta invocar el método de bean sin un contexto de
sesión de actividad, el contenedor genera una excepción
ActivityRequiredException para el cliente. El contexto de
sesión de actividad se pasa a todos los objetos o recursos EJB a los que
accede un método de enterprise bean.
La excepción ActivityRequiredException es
javax.rmi.RemoteException.
- Requiere nueva
- El contenedor siempre invoca el método de
bean dentro de un contexto de sesión de actividad nuevo,
independientemente de si el cliente invoca el método dentro o fuera
de un contexto de sesión de actividad. El contexto de sesión de actividad nuevo se
pasa a todos los objetos o recursos de enterprise bean utilizados por este
método de bean.
Todos los contextos de
sesión de actividad recibidos quedan suspendidos mientras dura el método y
se reanudan después de que termine el método.
El contenedor inicia una
sesión de actividad nueva antes de asignar el método y la completa
después de que termine el método.
- Required
- El contenedor invoca el método de bean dentro
de un contexto de sesión de actividad. Si un cliente invoca un método de
bean desde dentro de un contexto de sesión de actividad, el contenedor
invoca el método de bean dentro del contexto de sesión de actividad del
cliente. Si un cliente invoca un método de bean fuera de un contexto
de sesión de actividad, el contenedor crea un nuevo contexto de
sesión de actividad e invoca el método de bean desde dentro de dicho
contexto. El contexto de sesión de actividad se pasa a todos los objetos o
recursos de enterprise bean utilizados por este método de bean.
- No soportado
- El contenedor invoca los métodos de bean sin
un contexto de sesión de actividad. Si un cliente invoca un método de
bean desde dentro de un contexto de sesión de actividad, el contenedor
suspende la asociación entre la sesión de actividad y la hebra antes de
invocar el método en la instancia del enterprise bean. A continuación, el contenedor reanuda la asociación suspendida
cuando se devuelve la invocación de método. El contexto de sesión de actividad no
se pasa a ninguno de los objetos o recursos de enterprise bean
utilizados por este método de bean.
- Supports
- Si el cliente invoca el método de bean dentro de
una sesión de actividad, el contenedor invoca el método de bean dentro de
un contexto de sesión de actividad.
Si el cliente invoca el método de
bean sin un contexto de sesión de actividad, el contenedor invoca el
método de bean sin un contexto de sesión de actividad.
El contexto de
sesión de actividad se pasa a todos los objetos o recursos de enterprise
bean utilizados por este método de bean.
- Pulse Siguiente.
- Seleccione los métodos a los que se aplicará la política del tipo de sesión de actividad.
- Pulse Finalizar.
El modo en que el contenedor gestiona los límites de sesión de actividad al delegar una invocación de método depende del atributo Clase de sesión de actividad
establecido aquí y del Tipo de transacción de contenedor, tal como se describe en el tema sobre configuración de atributos de despliegue transaccionales.
Para obtener más información sobre la relación entre estas dos propiedades, consulte el
tema Políticas de sesión de actividad y contenedor de transacciones combinadas.
- Guarde los cambios en el descriptor de despliegue.
- Cierre el editor del descriptor de despliegue.
- Cuando se le solicite, pulse Sí para guardar los
cambios en el descriptor de despliegue.
- Verifique los archivos de archivado. Para obtener más información sobre la verificación de archivos con Rational Application Developer, consulte la relativa a Rational Application Developer.
- Desde el menú emergente del proyecto, pulse Desplegar
para generar el código de despliegue de EJB.
- Opcional: Pruebe el módulo completado en las instalaciones de
WebSphere Application Server.
Pulse con el botón derecho en un módulo, pulse Ejecutar en servidor
y siga las instrucciones del asistente mostrado.
Importante: Utilice Ejecutar en servidor sólo para
fines de prueba. Las herramientas de ensamblado controlan la instalación de
WebSphere
Application Server y, cuando se publica de forma remota una aplicación, la herramienta de
ensamblado graba encima del archivo de configuración de servidor correspondiente a ese
servidor. No utilice Ejecutar en servidor en los servidores de producción.
Qué hacer a continuación
Después de ensamblar la aplicación, utilice una herramienta de gestión de
sistemas para desplegar el archivo EAR en el servidor de aplicaciones que va a ejecutar
la aplicación. Por ejemplo, para utilizar la consola administrativa, consulte el tema sobre el despliegue y la administración de aplicaciones empresariales.