스크립트를 사용하여 세션 관리에 대한 애플리케이션 구성
이 태스크는 AdminConfig 오브젝트를 사용하여 애플리케이션에 대한 세션 관리자를 구성하는 예를 제공합니다.
시작하기 전에
애플리케이션은 실행 중인 서버에 설치되어야 합니다.
이 태스크 정보
AdminConfig 오브젝트를 사용하여 애플리케이션에서 구성을 설정할 수 있습니다. 일부 구성 설정은 AdminConfig 오브젝트를 통해 사용할 수 없습니다.
프로시저
- wsadmin 스크립트 도구를 시작하십시오.
- 애플리케이션에 대한 전개 구성 오브젝트를 식별하여 그것을 deployment 변수에
지정하십시오. 참고: OSGi 애플리케이션에는 이 단계가 필요하지 않습니다.예를 들어 다음과 같습니다.
- Jacl 사용:
test
set deployments [$AdminConfig getid /Deployment:myApp/]
- Jython 사용:
deployments = AdminConfig.getid('/Deployment:myApp/') print deployments
여기서,표 1. getid 명령 요소. 전개 오브젝트를 식별하려면 getid 명령을 실행하십시오. 요소 설명 set Jacl 명령입니다. deployments 변수 이름입니다. $ 변수 이름을 그 값으로 대체하기 위한 Jacl 운영자입니다. AdminConfig WebSphere® Application Server 구성을 표시하는 오브젝트입니다. getid 는 AdminConfig 명령입니다. Deployment 속성입니다. myApp 속성 값입니다. 출력 예제:myApp(cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#Deployment_1)
- 애플리케이션 전개 오브젝트를 검색하여 그것을 appDeploy 변수에 지정하십시오. 예를 들어 다음과 같습니다.
- Jacl 사용:
set appDeploy [$AdminConfig showAttribute $deployments deployedObject]
- Jython 사용:
appDeploy = AdminConfig.showAttribute(deployments, 'deployedObject') print appDeploy
참고: OSGi 애플리케이션의 경우, 다음 단계에서 다음 jython 코드를 사용하십시오.appDeploy = AdminTask.getOSGiApplicationDeployedObject('-cuName cu_name')
여기서,표 2. set 명령 요소. 전개 오브젝트에 값을 지정하려면 set 명령을 실행합니다. 요소 설명 set Jacl 명령입니다. appDeploy 변수 이름입니다. $ 변수 이름을 그 값으로 대체하기 위한 Jacl 운영자입니다. AdminConfig WebSphere Application Server 구성을 표시하는 오브젝트입니다. showAttribute 는 AdminConfig 명령입니다. deployments 단계 1에서 지정된 전개 오브젝트의 ID를 평가합니다. deployedObject 속성입니다. cu_name 컴포지션 단위의 이름입니다. 출력 예제:(cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#ApplicationDeployment_1)
- 세션 관리자에 대해 설정할 수 있는 속성 목록을 구하려면 attributes 명령을 사용하십시오. 예를 들어 다음과 같습니다.
- Jacl 사용:
$AdminConfig attributes SessionManager
- Jython 사용:
print AdminConfig.attributes('SessionManager')
여기서,표 3. attributes 명령 요소. 세션 관리자의 속성을 나열하려면 attributes 명령을 실행합니다. 요소 설명 $ 변수 이름을 그 값으로 대체하기 위한 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"
세션 관리용 애플리케이션을 구성할 때, 각 속성을 지정하도록 권장합니다.
문제점 방지: 클러스터의 세션 관리 속성을 설정하는 경우 sessionManagment 요소에 지정한 설정이 유효하게 되기 전에 클러스터의 AdminConfig 오브젝트의 targetMappings 요소 또한 업데이트해야 합니다. targetMappings 요소를 업데이트하지 않으면 설정이 deployment.xml 파일에 나타나더라도 유효하지 않습니다. gotcha
- 세션 관리자에 대한 속성을 설정하십시오.
다음 예제는 세션 관리자에서 네 개의 최상위 레벨 속성을 설정합니다. 예를 수정하여 DRSSettings, SessionDataPersistence 및 TuningParms 오브젝트 유형에 중첩된 속성을 포함하여 기타 세션 관리자의 속성을 설정할 수 있습니다.
문제점 방지: 세션 관리자에서는 애플리케이션을 초기화하기 전에 defaultCookieSettings 및 tuningParams 속성을 둘 다 설정해야 합니다. 이러한 속성을 설정하지 않은 경우, 세션 관리자가 애플리케이션을 초기화할 수 없으므로 애플리케이션이 시작되지 않습니다. gotcha
그러한 오브젝트 유형에 대한 속성을 나열하려면 AdminConfig 오브젝트에서 attributes 명령을 사용하십시오.
- 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]
Jacl을 사용한 출력 예제:sessionManagement {{enableSecurityIntegration true} {maxWaitTime 30} {sessionPersistenceMode NONE} {defaultCookieSettings {{maximumAge -1}}}}
- 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]]
Jython을 사용한 출력 예제:[[sessionManagement, [[enableSecurityIntegration, true], [maxWaitTime, 30], [sessionPersistenceMode, NONE], [defaultCookieSettings [[maximumAge, -1]]]]
여기서,표 4. set 명령 요소. 세션 관리자의 속성을 설정하려면 set 명령을 실행합니다. 요소 설명 set Jacl 명령입니다. attr1, attr2, attr3, attrs, sessionMgr 변수 이름입니다. $ 변수 이름을 그 값으로 대체하기 위한 Jacl 운영자입니다. enableSecurityIntegration 속성입니다. true enableSecurityIntegration 속성의 값입니다. maxWaitTime 속성입니다. 30 maxWaitTime 속성의 값입니다. sessionPersistenceMode 속성입니다. NONE sessionPersistenceMode 속성의 값입니다. - 다음 중 하나를 수행하십시오.
- 애플리케이션에 대한 세션 관리자를 작성하십시오. 예를 들어 다음과 같습니다.
- Jacl 사용:
$AdminConfig create ApplicationConfig $appDeploy [list $sessionMgr]
- Jython 사용:
print AdminConfig.create('ApplicationConfig', appDeploy, sessionMgr)
여기서,표 5. create 명령 요소. 세션 관리자를 작성하려면 create 명령을 실행합니다. 요소 설명 $ 변수 이름을 그 값으로 대체하기 위한 Jacl 운영자입니다. AdminConfig WebSphere Application Server 구성을 표시하는 오브젝트입니다. 작성 는 AdminConfig 명령입니다. ApplicationConfig 속성입니다. appDeploy 2단계에서 지정된 전개된 Application Server의 ID를 평가합니다. list Jacl 명령입니다. sessionMgr 2단계에서 지정된 세션 관리자의 ID를 평가합니다. 출력 예제:(cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#ApplicationConfig_1)
- 세션 관리자가 이미 존재할 경우, AdminConfig의 수정 명령을 사용하여 세션 관리자의 구성을 업데이트하십시오.
예를 들어 다음과 같습니다.
- Jacl 사용:
set configs [lindex [$AdminConfig showAttribute $appDeploy configs] 0] set appConfig [lindex $configs 0] set SM [$AdminConfig showAttribute $appConfig sessionManagement] $AdminConfig modify $SM $attrs
- Jython 사용:
configs = AdminConfig.showAttribute (appDeploy, 'configs') appConfig = configs[1:len(configs)-1] SM = AdminConfig.showAttribute (appConfig, 'sessionManagement') AdminConfig.modify (SM, attrs)
- 애플리케이션에 대한 세션 관리자를 작성하십시오. 예를 들어 다음과 같습니다.
- 구성 변경사항을 저장하십시오. 다음 명령 예제를 사용하여 구성 변경사항을 저장하십시오.
AdminConfig.save()
- 노드를 동기화하십시오. AdminNodeManagement 스크립트 라이브러리에 있는 syncActiveNode 또는 syncNode 스크립트를 사용하여 구성 변경사항을 노드에 전파하십시오.
- 다음 명령 데모에 표시된 것과 같이, syncActiveNodes 스크립트를 사용하여
변경사항을 셀 내의 각 노드에 전파하십시오.
AdminNodeManagement.syncActiveNodes()
- 다음 명령 데모에 표시된 것과 같이, syncNode 스크립트를 사용하여
변경사항을 특정 노드에 전파하십시오.
AdminNodeManagement.syncNode("myNode")
- 다음 명령 데모에 표시된 것과 같이, syncActiveNodes 스크립트를 사용하여
변경사항을 셀 내의 각 노드에 전파하십시오.
관련 개념:


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