スクリプトと wsadmin ツールを使用して、Web モジュール内のセッション・マネージメント用のアプリケーションを構成します。
AdminApp オブジェクトを使用して、アプリケーションの構成を設定できます。 ただし、AdminApp オブジェクトでは設定できない構成もいくつかあります。 以下のタスクでは、AdminConfig オブジェクトを使用して、アプリケーションで Web モジュールのセッション・マネージャーを構成します。
set deployments [$AdminConfig getid /Deployment:myApp/]
deployments = AdminConfig.getid('/Deployment:myApp/') print deployments
set | Jacl コマンドです。 |
deployments | 変数名です。 |
$ | 変数名を値で置換する Jacl 演算子です。 |
AdminConfig | WebSphere Application Server の構成を表すオブジェクトです。 |
getid | AdminConfig コマンドです。 |
Deployment | 属性です。 |
myApp | 属性の値です。 |
myApp(cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#Deployment_1)
set appDeploy [$AdminConfig showAttribute $deployments deployedObject] set mod1 [$AdminConfig showAttribute $appDeploy modules]
(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)
appDeploy = AdminConfig.showAttribute(deployments, 'deployedObject') mod1 = AdminConfig.showAttribute(appDeploy, 'modules') print mod1
[(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)]
set | Jacl コマンドです。 |
appDeploy | 変数名です。 |
mod1 | 変数名です。 |
$ | 変数名を値で置換する Jacl 演算子です。 |
AdminConfig | WebSphere Application Server の構成を表すオブジェクトです。 |
showAttribute | AdminConfig コマンドです。 |
deployments | ステップ 1 で指定したデプロイメント・オブジェクトの ID を評価します。 |
deployedObject | 属性です。 |
$AdminConfig attributes SessionManager
print AdminConfig.attributes('SessionManager')
$ | 変数名を値で置換する Jacl 演算子です。 |
AdminConfig | WebSphere Application Server の構成を表すオブジェクトです。 |
attributes | AdminConfig コマンドです。 |
SessionManager | 属性です。 |
"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 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]
sessionManagement {{enableSecurityIntegration true} {maxWaitTime 30} {sessionPersistenceMode NONE} {enabled true}}
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])
[sessionManagement, [[enableSecurityIntegration, true], [maxWaitTime, 30], [sessionPersistenceMode, NONE]]
set nameAttr [list name myWebModuleConfig] set descAttr [list description "Web Module config post create"] set webAttrs [list $nameAttr $descAttr $sessionMgr]
{name myWebModuleConfig} {description {Web Module config post create}} {sessionManagement {{enableSecurityIntegration true} {maxWaitTime 30} {sessionPersistenceMode NONE} {enabled true}}}
nameAttr = ['name', 'myWebModuleConfig'] descAttr = ['description', "Web Module config post create"] webAttrs = [nameAttr, descAttr, sessionMgr]
[[name, myWebModuleConfig], [description, "Web Module config post create"], [sessionManagement, [[enableSecurityIntegration, true], [maxWaitTime, 30], [sessionPersistenceMode, NONE], [enabled, true]]]]
set | Jacl コマンドです。 |
nameAttr、descAttr、webAttrs | 変数名です。 |
$ | 変数名を値で置換する Jacl 演算子です。 |
name | 属性です。 |
myWebModuleConfig | name 属性の値です。 |
description | 属性です。 |
Web Module config post create | description 属性の値です。 |
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] } }
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])
myWebModuleConfig(cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#WebModuleConfiguration_1)
セッション・マネージャーを作成するときに tuningParamsList 属性を指定しないと、デプロイしたアプリケーションを始動する際にエラーを受け取ります。
AdminConfig.save()