Configuración de aplicaciones de gestión de sesiones en módulos web mediante scripts
Utilice los scripts y la herramienta wsadmin para configurar aplicaciones para gestión de sesiones en módulos web.
Acerca de esta tarea
Puede utilizar el objeto AdminApp para establecer configuraciones de aplicaciones. Algunos valores de configuración no están disponibles a través del objeto AdminApp. La siguiente tarea utiliza el objeto AdminConfig para configurar un gestor de sesiones para un módulo web de la aplicación.
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). Por
ejemplo:
- Utilizando Jacl:
set deployments [$AdminConfig getid /Deployment:myApp/]
- Utilizando Jython:
deployments = AdminConfig.getid('/Deployment:myApp/') print deployments
donde:Tabla 1. Valores de configuración del despliegue. En la tabla siguiente se describen los elementos del mandato getid. Elemento Definició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)
- Obtenga todos los módulos de la aplicación y asígnelos a la variable
modules. Por
ejemplo:
- Utilizando Jacl:
set appDeploy [$AdminConfig showAttribute $deployments deployedObject] set mod1 [$AdminConfig showAttribute $appDeploy modules] set mod1 [lindex $mod1 0]
Salida de ejemplo:(cells/mycell/applications/myApp.ear/deployments/myApp:deployment.xml#WebModuleDeployment_1) (cells/mycell/applications/myApp.ear/deployments/myApp:deployment.xml#EJBModuleDeployment_1) (cells/mycell/applications/myApp.ear/deployments/myApp:deployment.xml#WebModuleDeployment_2)
- Utilizando Jython:
appDeploy = AdminConfig.showAttribute(deployments, 'deployedObject') mod1 = AdminConfig.showAttribute(appDeploy, 'modules') print mod1
Salida de ejemplo:[(cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#WebModuleDeployment_1) (cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#EJBModuleDeployment_1) (cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#EJBModuleDeployment_2)]
donde:Tabla 2. Valores de módulo de aplicación. En la tabla siguiente se describen los elementos del mandato showAttribute AdminConfig. Elemento Definición estableciendo es un mandato Jacl appDeploy es un nombre de variable mod1 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 - 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. mandato attributes AdminConfig. En la tabla siguiente se describen los elementos del mandato attributes AdminConfig. Elemento Definició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"
- 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, incluidos los atributos anidados en tipos de objetos Cookie, DRSSettings, SessionDataPersistence y TuningParms. Para enumerar los atributos de esos tipos de objetos, utilice el mandato attributes del objeto AdminConfig.
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
- Utilizando Jacl:
set attr0 [list enable true] set attr1 [list enableSecurityIntegration true] set attr2 [list maxWaitTime 30] set attr3 [list sessionPersistenceMode NONE] set attr4 [list enableCookies true] set attr5 [list invalidationTimeout 45] set tuningParmsDetailList [list $attr5] set tuningParamsList [list tuningParams $tuningParmsDetailList] set pwdList [list password 95ee608] set userList [list userId Administrator] set dsNameList [list datasourceJNDIName jdbc/session] set dbPersistenceList [list $dsNameList $userList $pwdList] set sessionDBPersistenceList [list $dbPersistenceList] set sessionDBPersistenceList [list sessionDatabasePersistence $dbPersistenceList] set kuki [list maximumAge 1000] set cookie [list $kuki] set cookieSettings [list defaultCookieSettings $cookie] set sessionManagerDetailList [list $attr0 $attr1 $attr2 $attr3 $attr4 $cookieSettings $tuningParamsList $sessionDBPersistenceList] set sessionMgr [list sessionManagement $sessionManagerDetailList] set id [$AdminConfig create ApplicationConfig $appDeploy [list $sessionMgr] configs] set targetMappings [lindex [$AdminConfig showAttribute $appDeploy targetMappings] 0] set attrs [list config $id] $AdminConfig modify $targetMappings [list $attrs]
Supported configurations: Las cinco últimas líneas del ejemplo anterior presuponen que ha desplegado el módulo web para un único servidor de destino. Puede dirigir un módulo a varios servidores o clústeres, utilizando un bucle, si desea aplicar la actualización a cada destino. Sustituya las últimas seis líneas del ejemplo anterior por el código siguiente para aplicar actualizaciones a varios destinos:
sptcfgset id [$AdminConfig create ApplicationConfig $appDeploy [list $sessionMgr] configs] set targetMappings [lindex [$AdminConfig showAttribute $appDeploy targetMappings] 0] foreach target $targetMappings { if {[regexp DeploymentTargetMapping $target] == 1} { set attrs [list config $id] $AdminConfig modify $target [list $attrs] } }
Salida de ejemplo con Jacl:sessionManagement {{enableSecurityIntegration true} {maxWaitTime 30} {sessionPersistenceMode NONE} {enabled true}}
- Utilizando Jython:
attr0 = ['enable', 'true'] attr1 = ['enableSecurityIntegration', 'true'] attr2 = ['maxWaitTime', 30] attr3 = ['sessionPersistenceMode', 'NONE'] attr4 = ['enableCookies', 'true'] attr5 = ['invalidationTimeout', 45] tuningParmsDetailList = [attr5] tuningParamsList = ['tuningParams', tuningParmsDetailList] pwdList = ['password', '95ee608'] userList = ['userId', 'Administrator'] dsNameList = ['datasourceJNDIName', 'jdbc/session'] dbPersistenceList = [dsNameList, userList, pwdList] sessionDBPersistenceList = [dbPersistenceList] sessionDBPersistenceList = ['sessionDatabasePersistence', dbPersistenceList] kuki = ['maximumAge', 1000] cookie = [kuki] cookieSettings = ['defaultCookieSettings', cookie] sessionManagerDetailList = [attr0, attr1, attr2, attr3, attr4, cookieSettings, tuningParamsList, sessionDBPersistenceList] sessionMgr = ['sessionManagement', sessionManagerDetailList] id = AdminConfig.create('ApplicationConfig', appDeploy,[sessionMgr], 'configs') targetMappings = AdminConfig.showAttribute(appDeploy, 'targetMappings') targetMappings = targetMappings[1:len(targetMappings)-1] print targetMappings attrs = ['config', id] AdminConfig.modify(targetMappings,[attrs])
Supported configurations: Las seis últimas líneas del ejemplo anterior presuponen que ha desplegado el módulo web para un único servidor de destino. Puede dirigir un módulo a varios servidores o clústeres, utilizando un bucle, si desea aplicar la actualización a cada destino. Sustituya las últimas seis líneas del ejemplo anterior por el código siguiente para aplicar actualizaciones a varios destinos:
sptcfgid = AdminConfig.create('ApplicationConfig', appDeploy,[sessionMgr], 'configs') targetMappings = AdminConfig.showAttribute(appDeploy, 'targetMappings') targetMappings = targetMappings[1:len(targetMappings)-1].split(" ") for target in targetMappings: if target.find('DeploymentTargetMapping') != -1: attrs = ['config', id] AdminConfig.modify(target,[attrs]) #endif #endfor
Salida de ejemplo con Jython:[sessionManagement, [[enableSecurityIntegration, true], [maxWaitTime, 30], [sessionPersistenceMode, NONE]]
- Configure los atributos del módulo web. Por
ejemplo:
- Utilizando Jacl:
set nameAttr [list name myWebModuleConfig] set descAttr [list description "Web Module config post create"] set webAttrs [list $nameAttr $descAttr $sessionMgr]
Salida de ejemplo:{name myWebModuleConfig} {description {Web Module config post create}} {sessionManagement {{enableSecurityIntegration true} {maxWaitTime 30} {sessionPersistenceMode NONE} {enabled true}}}
- Utilizando Jython:
nameAttr = ['name', 'myWebModuleConfig'] descAttr = ['description', "Web Module config post create"] webAttrs = [nameAttr, descAttr, sessionMgr]
Salida de ejemplo:[[name, myWebModuleConfig], [description, "Web Module config post create"], [sessionManagement, [[enableSecurityIntegration, true], [maxWaitTime, 30], [sessionPersistenceMode, NONE], [enabled, true]]]]
donde:Tabla 4. Establecer los atributos para el módulo web . En la tabla siguiente se describen los elementos para establecer los atributos del módulo web. Elemento Definición estableciendo es un mandato Jacl nameAttr, descAttr, webAttrs son nombres de variables $ es un operador Jacl para sustituir un nombre de variable por su valor nombre es un atributo myWebModuleConfig es un valor del atributo name descripción es un atributo Web Module config post create es un valor del atributo de descripción - Cree el gestor de sesiones para cada módulo web de la aplicación.
Puede
modificar el siguiente ejemplo con objeto de establecer otros atributos del gestor
de sesiones en la configuración de módulo web. También debe definir una correlación de destino para este paso.
- Utilizando Jacl:
foreach module $mod1 { if {[regexp WebModuleDeployment $module] == 1} { set moduleConfig [$AdminConfig create WebModuleConfig $module $webAttrs] set targetMappings [lindex [$AdminConfig showAttribute $module targetMappings] 0] set attrs [list config $moduleConfig] $AdminConfig modify $targetMappings [list $attrs] } }
Supported configurations: Puede añadir un opcional, el bucle adicionales para asignar configuración de módulo web nuevo para cada destino, si el módulo web se ha desplegado en más de un servidor de destino:
sptcfgforeach module $mod1 { if {[regexp WebModuleDeployment $module] == 1} { set moduleConfig [$AdminConfig create WebModuleConfig $module $webAttrs] set targetMappings [lindex [$AdminConfig showAttribute $module targetMappings] 0] foreach target $targetMappings { if {[regexp DeploymentTargetMapping $target] == 1} { set attrs [list config $moduleConfig] $AdminConfig modify $target [list $attrs] } } }
- Utilizando Jython:
arrayModules = mod1[1:len(mod1)-1].split(" ") for module in arrayModules: if module.find('WebModuleDeployment') != -1: AdminConfig.create('WebModuleConfig', module, webAttrs) targetMappings = targetMappings[1:len(targetMappings)-1] attrs = ['config', moduleConfig] AdminConfig.modify(targetMappings,[attrs])
Supported configurations: Puede añadir un opcional, el bucle adicionales para asignar configuración de módulo web nuevo para cada destino, si el módulo web se ha desplegado en más de un servidor de destino:
sptcfgarrayModules = mod1[1:len(mod1)-1].split(" ") for module in arrayModules: if module.find('WebModuleDeployment') != -1: moduleConfig = AdminConfig.create('WebModuleConfig', module, webAttrs) attrs = ['config', moduleConfig] targetMappings = AdminConfig.showAttribute(appDeploy, 'targetMappings') targetMappings = targetMappings[1:len(targetMappings)-1].split(" ") for target in targetMappings: if target.find('DeploymentTargetMapping') != -1: attrs = ['config', moduleConfig] AdminConfig.modify(target,[attrs])
Salida de ejemplo:myWebModuleConfig(cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#WebModuleConfiguration_1)
Si no especifica el atributo tuningParamsList cuando crea el gestor de sesiones, recibirá un error cuando inicie la aplicación desplegada.
- Guarde los cambios de configuración. Utilice el siguiente ejemplo de mandatos para guardar los cambios de configuración:
AdminConfig.save()
- En un entorno sólo de despliegue de red, 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_webmodules
File name: txml_webmodules.html