Puede configurar la aplicación WebSphere Application
Server para que persista sesiones de una cuadrícula de datos. Esta cuadrícula de datos puede estar en un servidor contenedor que se ejecute en
WebSphere Application
Server o puede estar en una cuadrícula de datos remota.
Antes de empezar
Antes de cambiar la configuración en
WebSphere Application
Server, debe tener:
- El nombre de la cuadrícula de datos de sesión que desea utilizar. Consulte Configuración del gestor de sesiones HTTP con WebSphere Application Server para obtener información sobre cómo crear una cuadrícula de datos de sesión.
- Si el servicio de catálogo que desea utilizar para gestionar las sesiones está fuera de la célula en la que está instalando la aplicación de sesión, debe crear un dominio de servicio de catálogo. Consulte Creación de dominios de servicio de catálogo en WebSphere Application Server para obtener más información.
- Si configura el dominio de un servicio de catálogo, puede que tenga que habilitar la seguridad de cliente en el dominio de servicio de catálogo si los servidores de contenedor requieren autenticación. Estos valores informan al tiempo de ejecución sobre qué implementación CredentialGenerator se debe utilizar. Esta implementación genera una credencial que se pasará a la cuadrícula de datos remota. Consulte Configuración de la seguridad de cliente en un dominio de servicio de catálogo para obtener más información sobre cómo configurar estos valores.
- Seguridad global habilitada en la consola administrativa de WebSphere Application
Server si desea
soportar uno de los escenarios siguientes:
- Los servidores de catálogo dentro de su dominio de servicio de catálogo tienen la capa de sockets seguros (SSL)
habilitada.
- Desea utilizar SSL para un dominio de servicio de catálogo con SSL soportado.
Puede requerir que se utilice SSL para un servidor de catálogo definiendo el atributo transportType a SSL-Required en Archivo de propiedades de servidor. Para obtener más información sobre cómo configurar la seguridad global, consulte
Valores
de seguridad globales.
- Si utiliza la Versión 7.1.0.3 o posterior,
puede persistir las sesiones que utilizan reescritura de URL o cookies como un mecanismo de seguimiento de sesiones a la cuadrícula de datos. Para releases anteriores a la Versión 7.1.0.3, no puede persistir las sesiones que utilizan reescritura de URL como mecanismo de seguimiento de sesiones. Para habilitar la persistencia de sesiones que utilizan reescritura de URL, establezca la propiedad useURLEncoding en true en el archivo splicer.properties después de unir automáticamente la aplicación.
- Cuando se unen automáticamente aplicaciones
para la gestión de sesiones HTTP en WebSphere Application
Server,
todos los servidores de aplicaciones que alojan la aplicación web tienen la
propiedad personalizada de contenedor web HttpSessionIdReuse
establecida en true. Esta propiedad permite que
las sesiones que han migrado de un servidor de aplicaciones a otro tras un error o que
se han invalidado desde la memoria caché de sesión en memoria en un escenario remoto
conserven el ID de sesión entre solicitudes. Si no desea este comportamiento,
establezca la propiedad personalizada de contenedor web en false
en todos los servidores de aplicaciones aplicables antes de configurar la gestión de
sesiones para las aplicaciones. Para obtener más información sobre esta propiedad personalizada,
consulte Troubleshooting cache integration.
Procedimiento
- Para configurar la gestión de sesiones al instalar la aplicación, complete
los pasos siguientes:
- En la consola de administración de WebSphere Application
Server, pulse . Elija la
vía de acceso Detallada para crear la aplicación y complete
los pasos iniciales del asistente.
- En el paso Valores de gestión de sesiones de
eXtreme Scale del asistente, configure la
cuadrícula de datos que desea utilizar. Elija Cuadrícula de datos de eXtreme
Scale remota o Cuadrícula de datos de eXtreme Scale
incorporada.
- Para la opción Cuadrícula de datos remota de eXtreme Scale,
elija el dominio de servicio de catálogo que gestiona la cuadrícula de datos de sesión
y elija una cuadrícula de datos en la lista de cuadrículas de datos de sesión activas.
- Para la opción Cuadrícula de datos incorporada de eXtreme Scale,
elija la configuración ObjectGrid predeterminada o especifique la
ubicación específica de los archivos de configuración de ObjectGrid.
- Complete los pasos del asistente para finalizar la instalación de la aplicación.
También puede instalar la aplicación con un script wsadmin. En el siguiente ejemplo, el parámetro -SessionManagement crea la misma configuración que la realizada en la consola de administración:
Para la configuración de la cuadrícula de datos de eXtreme Scale remota:AdminApp.install('C:/A.ear', '[ -nopreCompileJSPs -distributeApp
-nouseMetaDataFromBinary -nodeployejb -appname A -edition 8.0
-createMBeansForResources -noreloadEnabled -nodeployws -validateinstall
off -noprocessEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755
-buildVersion Unknown -noallowDispatchRemoteInclude -noallowServiceRemoteInclude
-asyncRequestDispatchType DISABLED -nouseAutoLink -SessionManagement [[true
XSRemoteSessionManagement cs0:!:grid0]]
-MapWebModToVH [[MicroWebApp microwebapp.war,WEB-INF/web.xml default_host] [MicroSipApp
microsipapp.war,WEB-INF/web.xml default_host] [MicroDG1App microdg1app.war,WEB-INF/web.xml
default_host] [MicroDG2App microdg2app.war,WEB-INF/web.xml default_host] [MicroSip2App
microsip2app.war,WEB-INF/web.xml default_host]]]')
Para
el escenario incorporado de eXtreme Scale con la configuración predeterminada:AdminApp.install('C:/A.ear', '[ -nopreCompileJSPs -distributeApp
-nouseMetaDataFromBinary -nodeployejb -appname A -edition 8.0
-createMBeansForResources -noreloadEnabled -nodeployws -validateinstall
off -noprocessEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755
-buildVersion Unknown -noallowDispatchRemoteInclude -noallowServiceRemoteInclude
-asyncRequestDispatchType DISABLED -nouseAutoLink -SessionManagement [[true
XSRemoteSessionManagement :!: :!:default]] -MapWebModToVH [[MicroWebApp microwebapp.war,
WEB-INF/web.xml default_host] [MicroSipApp
microsipapp.war,WEB-INF/web.xml default_host] [MicroDG1App microdg1app.war,WEB-INF/web.xml
default_host] [MicroDG2App microdg2app.war,WEB-INF/web.xml default_host] [MicroSip2App
microsip2app.war,WEB-INF/web.xml default_host]]]')
Para
el escenario incorporado de eXtreme Scale con una configuración personalizada:AdminApp.install('C:/A.ear', '[ -nopreCompileJSPs -distributeApp
-nouseMetaDataFromBinary -nodeployejb -appname A -edition 8.0
-createMBeansForResources -noreloadEnabled -nodeployws -validateinstall
off -noprocessEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755
-buildVersion Unknown -noallowDispatchRemoteInclude -noallowServiceRemoteInclude
-asyncRequestDispatchType DISABLED -nouseAutoLink -SessionManagement [[true
XSRemoteSessionManagement :!: :!:custom:!:c:\XS\objectgrid.xml:!:c:\XS\objectgriddeployment.xml]]
-MapWebModToVH [[MicroWebApp microwebapp.war,WEB-INF/web.xml default_host] [MicroSipApp
microsipapp.war,WEB-INF/web.xml default_host] [MicroDG1App microdg1app.war,WEB-INF/web.xml
default_host] [MicroDG2App microdg2app.war,WEB-INF/web.xml default_host] [MicroSip2App
microsip2app.war,WEB-INF/web.xml default_host]]]')
- Para configurar la gestión de sesiones en una aplicación existente
de la consola administrativa de WebSphere Application
Server:
- En la consola de administración de WebSphere Application
Server, pulse
.
- Actualice los campos para habilitar la persistencia de sesión
en una cuadrícula de datos.
También puede actualizar la aplicación con un script wsadmin. En el siguiente ejemplo, el parámetro -SessionManagement crea la misma configuración que la realizada en la consola de administración:
- Para la configuración de cuadrícula de datos remota de eXtreme Scale:
AdminApp.edit('DefaultApplication','[-SessionManagement[[true
XSRemoteSessionManagement cs0:!:grid0]]]')
Los caracteres :!: que se pasan
se utilizan como delimitadores. Los valores que se pasan son:
nombre_servicio_catálogo:!:nombre_cuadrícula
- Para el escenario incorporado de eXtreme Scale con la configuración predeterminada:
AdminApp.edit('DefaultApplication','[-SessionManagement[[true
XSEmbeddedSessionManagement :!:!:!:default]]]')
Los caracteres
:!: que se pasan
se utilizan como delimitadores. Los valores que se pasan son:
nombre_servicio_catálogo:!:nombre_cuadrícula:!:default:!:
vía_acceso_absoluta_a_archivo_Xml_cuadrícula_objeto:!:vía_acceso_absoluta_a_archivo_Xml_despliegue
- Para el escenario incorporado de eXtreme Scale con una configuración personalizada:
AdminApp.edit('DefaultApplication','[-SessionManagement[[true
XSEmbeddedSessionManagement
:!:!:!:custom:!:c:\XS\objectgrid.xml:!:c:\XS\objectgriddeployment.xml]]]')
Los caracteres
:!: que se pasan
se utilizan como delimitadores. Los valores que se pasan son:
nombre_servicio_catálogo:!:nombre_cuadrícula:!:custom:!:
vía_acceso_absoluta_a_archivo_Xml_cuadrícula_objeto:!:vía_acceso_absoluta_a_archivo_Xml_despliegue
Al guardar los cambios, la aplicación utiliza la
cuadrícula de datos configurada para la persistencia de
sesión en el dispositivo.
- Para configurar la gestión de sesiones en un servidor existente:
- En la consola de administración de WebSphere Application
Server, pulse
.
- Actualice los campos para habilitar la persistencia de sesión.
También puede configurar la gestión de sesiones en un servidor existente con los siguientes mandatos de la herramienta wsadmin:
Para la configuración de la cuadrícula de datos de eXtreme Scale remota:AdminTask.configureServerSessionManagement('[-nodeName IBM-C77EE220EB6Node01 -serverName server1
-enableSessionManagement true -sessionManagementType XSRemoteSessionManagement -XSRemoteSessionManagement
[-catalogService cs0 -csGridName grid0]]')
Para la configuración incorporada de eXtreme Scale:- La configuración predeterminada, si utiliza los archivos XML predeterminados:
AdminTask.configureServerSessionManagement('[-nodeName IBM-C77EE220EB6Node01 -serverName server1
-enableSessionManagement true -sessionManagementType XSEmbeddedSessionManagement
-XSEmbeddedSessionManagement [-embeddedGridType default -objectGridXML -objectGridDeploymentXML ]]')
- La configuración personalizada, si utiliza los archivos XML personalizados:
AdminTask.configureServerSessionManagement('[-nodeName IBM-C77EE220EB6Node01 -serverName server1
-enableSessionManagement true -sessionManagementType XSEmbeddedSessionManagement
-XSEmbeddedSessionManagement
[-embeddedGridType custom -objectGridXML c:\XS\objectgrid.xml -objectGridDeploymentXML
c:\XS\objectgriddeployment.xml]]')
Cuando se guardan los cambios, el servidor utiliza ahora la
cuadrícula de datos configurada para la
persistencia de sesión con las aplicaciones que se ejecutan en el
servidor.
- Si desea editar otros aspectos de la configuración de sesión
HTTP, puede editar el archivo splicer.properties. Puede obtener la ubicación de vía de acceso del archivo splicer.properties
localizando la propiedad personalizada sessionFilterProps.
Si ha configurado la persistencia de sesiones en el nivel de servidor, el nombre
de la propiedad personalizada es:
com.ibm.websphere.xs.sessionFilterProps. Si ha
configurado la persistencia de sesión en el nivel de aplicación, el nombre de la propiedad
personalizada es: <nombre_aplicación>,com.ibm.websphere.xs.sessionFilterProps.
Estas propiedades personalizadas pueden estar en una de las siguientes ubicaciones:
- En un entorno WebSphere Application Server Network Deployment:
el archivo splicer.properties se encuentra en la vía de acceso del perfil de gestor de despliegue.
- En un entorno WebSphere Application Server autónomo:
una propiedad personalizada en el servidor de aplicaciones
Puede abrir el archivo indicado, hacer cambios y
sincronizar los nodos de modo que el archivo de propiedades actualizado se propague a los otros nodos de la
configuración. Todos los nodos del servidor de aplicaciones requieren que el archivo
splicer.properties esté en la vía de acceso especificada para persistir las sesiones
adecuadamente.
Atención: Si desea habilitar la persistencia para sesiones que utilizan la reescritura de URL, establezca la propiedad useURLEncoding en true en el archivo splicer.properties.
Para obtener más información sobre las propiedades del archivo splicer.properties, consulte
Archivo splicer.properties.
Resultados
Ha configurado el gestor de sesiones HTTP para que las sesiones persistan en una
cuadrícula de datos. Las entradas se eliminan de la cuadrícula de datos cuando las
sesiones caducan. Consulte los
Valores
de gestión de sesión para obtener más información sobre cómo actualizar el valor de tiempo de espera de sesión
en la consola administrativa de
WebSphere Application
Server.