Configuración de aplicaciones de gestión de sesiones mediante scripts
Esta tarea proporciona un ejemplo que utiliza el objeto AdminConfig para configurar un gestor de sesiones para la aplicación.
Antes de empezar
Una aplicación debe estar instalada en un servidor en ejecución.
Acerca de esta tarea
Puede utilizar el objeto AdminConfig para establecer configuraciones en una aplicación. Algunos valores de configuración no están disponibles a través del objeto AdminConfig.
Procedimiento
- Inicie la herramienta de scripts wsadmin.
- Identifique el objeto de configuración de despliegue de la aplicación y
asígnelo a la variable deployment (despliegue). Nota: Este paso no es necesario para una aplicación OSGi.Por ejemplo:
- Utilizando Jacl:
Prueba
set deployments [$AdminConfig getid /Deployment:myApp/]
- Utilizando Jython:
deployments = AdminConfig.getid('/Deployment:myApp/') print deployments
donde:Tabla 1. Elementos del mandato getid. Ejecute el mandato getid para identificar un objeto de despliegue. Elemento Descripción estableciendo es un mandato Jacl deployments es un nombre de variable $ es un operador Jacl para sustituir un nombre de variable por su valor AdminConfig es un objeto que representa la configuración de WebSphere Application Server getid es un mandato AdminConfig Despliegue es un atributo myApp es el valor del atributo Salida de ejemplo:myApp(cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#Deployment_1)
- Recupere el objeto de despliegue de la aplicación y asígnelo a la variable
appDeploy. Por
ejemplo:
- Utilizando Jacl:
set appDeploy [$AdminConfig showAttribute $deployments deployedObject]
- Utilizando Jython:
appDeploy = AdminConfig.showAttribute(deployments, 'deployedObject') print appDeploy
Nota: Para una aplicación OSGi, utilice el siguiente código jython para este paso:appDeploy = AdminTask.getOSGiApplicationDeployedObject('-cuName nombre_cu')
donde:Tabla 2. Elementos del mandato set. Ejecute el mandato set para asignar un valor al objeto de despliegue. Elemento Descripción estableciendo es un mandato Jacl appDeploy es un nombre de variable $ es un operador Jacl para sustituir un nombre de variable por su valor AdminConfig es un objeto que representa la configuración de WebSphere Application Server showAttribute es un mandato AdminConfig deployments evalúa el ID del objeto de despliegue especificado en el paso 1 deployedObject es un atributo nombre_cu es el nombre de la unidad de composición Salida de ejemplo:(cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#ApplicationDeployment_1)
- Para obtener una lista de atributos que puede establecer para el gestor
de sesiones, utilice el mandato attributes. Por
ejemplo:
- Utilizando Jacl:
$AdminConfig attributes SessionManager
- Utilizando Jython:
print AdminConfig.attributes('SessionManager')
donde:Tabla 3. Elementos del mandato attributes. Ejecute el mandato attributes para listar los atributos de un gestor de sesiones. Elemento Descripción $ es un operador Jacl para sustituir un nombre de variable por su valor AdminConfig es un objeto que representa la configuración de WebSphere Application Server attributes es un mandato AdminConfig SessionManager es un atributo Salida de ejemplo:"accessSessionOnTimeout Boolean" "allowSerializedSessionAccess Boolean" "context ServiceContext@" "defaultCookieSettings Cookie" "enable Boolean" "enableCookies Boolean" "enableProtocolSwitchRewriting Boolean" "enableSSLTracking Boolean" "enableSecurityIntegration Boolean" "enableUrlRewriting Boolean" "maxWaitTime Integer" "properties Property(TypedProperty)*" "sessionDRSPersistence DRSSettings" "sessionDatabasePersistence SessionDatabasePersistence" "sessionPersistenceMode ENUM(DATABASE, DATA_REPLICATION, NONE)" "tuningParams TuningParams"
Cuando configure una aplicación para la gestión de sesiones, se recomienda que especifique cada atributo.
Avoid trouble: Si está configurando los atributos de gestión de sesiones para un clúster, también deberá actualizar el elemento targetMappings del objeto AdminConfig para el clúster antes de que entren en vigor los valores que especifique para el elemento sessionManagment. Si no actualiza el elemento targetMappings, los valores no entrarán en vigor aunque aparezcan en el archivo deployment.xml. gotcha
- Configure los atributos del gestor de sesiones.
El siguiente ejemplo establece cuatro atributos de nivel superior en el gestor de sesiones. Puede modificar el ejemplo para establecer otros atributos del gestor de sesiones, incluyendo los atributos anidados en los tipos de objeto DRSSettings, SessionDataPersistence y TuningParms.
Avoid trouble: El gestor de sesiones requiere que establezca los atributos defaultCookieSettings y tuningParams antes de inicializar una aplicación. Si no establece estos atributos, el gestor de sesiones no puede inicializar la aplicación y la aplicación no se iniciará. gotcha
Para enumerar los atributos de esos tipos de objetos, utilice el mandato attributes del objeto AdminConfig.
- Utilizando Jacl:
set attr1 [list enableSecurityIntegration true] set attr2 [list maxWaitTime 30] set attr3 [list sessionPersistenceMode NONE] set kuki [list maximumAge -1] set cookie [list $kuki] Set cookieSettings [list defaultCookieSettings $cookie] set attrs [list $attr1 $attr2 $attr3 $cookieSettings] set sessionMgr [list sessionManagement $attrs]
Salida de ejemplo con Jacl:sessionManagement {{enableSecurityIntegration true} {maxWaitTime 30} {sessionPersistenceMode NONE} {defaultCookieSettings {{maximumAge -1}}}}
- Utilizando Jython:
attr1 = ['enableSecurityIntegration', 'true'] attr2 = ['maxWaitTime', 30] attr3 = ['sessionPersistenceMode', 'NONE'] kuki = ['maximumAge', -1] cookie = [kuki] cookieSettings = ['defaultCookieSettings', cookie] attrs = [attr1, attr2, attr3, cookieSettings] sessionMgr = [['sessionManagement', attrs]]
Salida de ejemplo con Jython:[[sessionManagement, [[enableSecurityIntegration, true], [maxWaitTime, 30], [sessionPersistenceMode, NONE], [defaultCookieSettings [[maximumAge, -1]]]]
donde:Tabla 4. Elementos del mandato set. Ejecute el mandato set para establecer los atributos de un gestor de sesiones. Elemento Descripción estableciendo es un mandato Jacl attr1, attr2, attr3, attrs, sessionMgr son nombres de variables $ es un operador Jacl para sustituir un nombre de variable por su valor enableSecurityIntegration es un atributo true es un valor del atributo enableSecurityIntegration maxWaitTime es un atributo 30 es un valor del atributo maxWaitTime sessionPersistenceMode es un atributo NINGUNO es un valor del atributo sessionPersistenceMode - Realice una de las operaciones siguientes:
- Cree el gestor de sesiones para la aplicación. Por
ejemplo:
- Utilizando Jacl:
$AdminConfig create ApplicationConfig $appDeploy [list $sessionMgr]
- Utilizando Jython:
print AdminConfig.create('ApplicationConfig', appDeploy, sessionMgr)
donde:Tabla 5. Elementos del mandato create. Ejecute el mandato create para crear un gestor de sesiones. Elemento Descripción $ es un operador Jacl para sustituir un nombre de variable por su valor AdminConfig es un objeto que representa la configuración de WebSphere Application Server crear es un mandato AdminConfig ApplicationConfig es un atributo appDeploy evalúa el ID de la aplicación desplegada especificada en el paso 2 list es un mandato Jacl sessionMgr evalúa el ID del gestor de sesiones especificado en el paso número 4 Salida de ejemplo:(cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#ApplicationConfig_1)
- Si ya existe un gestor de sesiones, utilice el mandato modify del objeto
AdminConfig para actualizar la configuración del gestor de sesiones. Por
ejemplo:
- Utilizando Jacl:
set configs [lindex [$AdminConfig showAttribute $appDeploy configs] 0] set appConfig [lindex $configs 0] set SM [$AdminConfig showAttribute $appConfig sessionManagement] $AdminConfig modify $SM $attrs
- Utilizando Jython:
configs = AdminConfig.showAttribute (appDeploy, 'configs') appConfig = configs[1:len(configs)-1] SM = AdminConfig.showAttribute (appConfig, 'sessionManagement') AdminConfig.modify (SM, attrs)
- Cree el gestor de sesiones para la aplicación. Por
ejemplo:
- Guarde los cambios de configuración. Utilice el siguiente ejemplo de mandatos para guardar los cambios de configuración:
AdminConfig.save()
- Sincronice el nodo. Utilice los scripts syncActiveNode o syncNode en la biblioteca de scripts AdminNodeManagement para propagar los cambios en la configuración en un nodo o nodos.
- Utilice el script syncActiveNodes para propagar los cambios en todos los nodos de la célula, como se demuestra en el ejemplo siguiente:
AdminNodeManagement.syncActiveNodes()
- Utilice el script syncNode para propagar los cambios en un nodo específico, como se demuestra en el ejemplo siguiente:
AdminNodeManagement.syncNode("miNodo")
- Utilice el script syncActiveNodes para propagar los cambios en todos los nodos de la célula, como se demuestra en el ejemplo siguiente:


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_sessionmgt
File name: txml_sessionmgt.html