Ensamblaje para que se puedan compartir los datos de sesión
De forma predeterminada, el recurso de Gestión de sesiones soporta el ámbito de sesión por módulo web de acuerdo con la especificación de API de Servlet 2.3 y posterior. Sólo los servlets del mismo módulo web pueden acceder a los datos relacionados con una determinada sesión. Sin embargo, puede utilizar el objeto IBMApplicationSession o la extensión de IBM®, contexto de sesión compartido, para compartir datos fuera del ámbito del módulo web.
Acerca de esta tarea
El objeto IBMApplicationSession es un objeto de sesión padre que la sesión de un módulo web puede recuperar y que puede compartir atributos de sesión en todos los módulos web de una aplicación de nivel empresarial. El ámbito predeterminado de la aplicación de nivel empresaria es la aplicación de empresa. La opción de contexto de sesión compartida también extiende el ámbito de los atributos de sesión. Utilizando la extensión de contexto de sesión compartida, sólo hay un objeto de sesión para toda la aplicación de nivel empresarial o para la aplicación de empresa predeterminada.
Si utiliza una sesión compartida para una aplicación de nivel empresarial, los archivos de clase para todos los objetos colocados en la sesión deben estar en una biblioteca compartida aislada y ser comunes a todas las aplicaciones.
La ventaja de utilizar el método IBMApplicationSession es que cada módulo web puede mantener su propia sesión así como tener una referencia a la sesión compartida.
Si está migrando una aplicación de una versión anterior del producto, el método IBMApplicationSession requiere un cambio en la lógica de la aplicación.
Para aplicaciones de empresa en las que se habilita esta extensión de contexto de sesión compartida, se ignora la configuración de gestión de sesiones en el módulo web dentro de la aplicación de empresa. A continuación, se utilizará la configuración de Gestión de sesiones definida en la aplicación de empresa si se graba encima de la Gestión de sesiones en el nivel de aplicación de empresa. De lo contrario, se utiliza la configuración de gestión de sesiones en el contenedor web. Si se utilizan varias aplicaciones de empresa en una aplicación de nivel empresarial, la configuración de gestión de sesiones debe ser común entre todas las aplicaciones y los módulos web de esta aplicación de nivel empresarial.
Los escuchas de HttpSession definidos en todos los módulos web dentro de la aplicación de nivel empresarial o aplicación de empresa se invocan para los sucesos de sesión. No se garantiza el orden de invocación de los escuchas.Realice lo siguiente para compartir dados de sesión entre la aplicación de nivel empresarial.