Configure applications for session management in Web modules using wsadmin.sh
Use the AdminApp object to set configurations in an application. Some configuration settings are not available through the AdminApp object. This example uses the AdminConfig object to configure session manager for Web module in the application.
- Identify the deployment configuration object for the application and assign it to the deployment variable...
Using Jacl
set deployment [$AdminConfig getid /Deployment:myApp/]Using Jython
deployment = AdminConfig.getid('/Deployment:myApp/') print deploymentExample output:
myApp(cells/cell/applications/myApp.ear/deployments/myApp:deployment.xml#Deployment_1)- Get all the modules in the application and assign it to the modules variable...
Using Jacl
set appDeploy [$AdminConfig showAttribute $deployment deployedObject] set modules [$AdminConfig showAttribute $appDeploy modules]Example output:
(cells/cell/applications/myApp.ear/deployments/myApp:deployment.xml#WebModuleDeployment_1) (cells/cell/applications/myApp.ear/deployments/myApp:deployment.xml#EJBModuleDeployment_1) (cells/cell/applications/myApp.ear/deployments/myApp:deployment.xml#WebModuleDeployment_2)Using Jython
appDeploy = AdminConfig.showAttribute(deployment, 'deployedObject') modules = AdminConfig.showAttribute(appDeploy, 'modules') print modulesExample output:
[(cells/cell/applications/myApp.ear/deployments/myApp:deployment.xml#WebModuleDeployment_1) (cells/cell/applications/myApp.ear/deployments/myApp:deployment.xml#EJBModuleDeployment_1) (cells/cell/applications/myApp.ear/deployments/myApp:deployment.xml#EJBModuleDeployment_2)]- To obtain a list of attributes you can set for session manager, use the attributes command....
Using Jacl
$AdminConfig attributes SessionManagerUsing Jython
print AdminConfig.attributes('SessionManager')Example output:
"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"- Set up the attributes for session manager...
Using 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]Using Jython
This example sets four top level attributes in the session manager. You can modify the example to set other attributes in the seesion manager including the nested attributes in Cookie, DRSSettings, SessionDataPersistence, and TuningParms object types. To list the attributes for those object types, use the attribute command in AdminConfig object.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])Example output using Jacl:
sessionManagement {{enableSecurityIntegration true} {maxWaitTime 30} {sessionPersistenceMode NONE} {enabled true}}Example output using Jython:
[sessionManagement, [[enableSecurityIntegration, true], [maxWaitTime, 30], [sessionPersistenceMode, NONE]]- Set up the attributes for Web module...
Using Jacl
set nameAttr [list name myWebModuleConfig] set descAttr [list description "Web Module config post create"] set webAttrs [list $nameAttr $descAttr $sessionMgr]Example output...
{name myWebModuleConfig} {description {Web Module config post create}} {sessionManagement {{enableSecurityIntegration true} {maxWaitTime 30} {sessionPersistenceMode NONE} {enabled true}}}Using Jython
nameAttr = ['name', 'myWebModuleConfig'] descAttr = ['description', "Web Module config post create"] webAttrs = [nameAttr, descAttr, sessionMgr]Example output:
[[name, myWebModuleConfig], [description, "Web Module config post create"], [sessionManagement, [[enableSecurityIntegration, true], [maxWaitTime, 30], [sessionPersistenceMode, NONE], [enabled, true]]]]- Create the session manager for each Web module in the application...
Using Jacl
foreach module $modules { if ([regexp WebModuleDeployment $module] == 1} { $AdminConfig create WebModuleConfig $module $webAttrs } }Using Jython
You can modify this example to set other attributes of session manager in Web module configuration.arrayModules = modules[1:len(modules)-1].split(" ") for module in arrayModules... if module.find('WebModuleDeployment') != -1... AdminConfig.create('WebModuleConfig', module, webAttrs)Example output:
myWebModuleConfig(cells/cell/applications/myApp.ear/deployments/myApp:deployment.xml#WebModuleConfiguration_1)- Save the changes...
Using Jacl
$AdminConfig saveUsing Jython
AdminConfig.save()