![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
지능형 관리: 애플리케이션 에디션 관리 태스크
Jacl 또는 Jython 스크립트 언어를 사용하여 애플리케이션 에디션을 관리할 수 있습니다. AdminApp 오브젝트를 사용하여 특정 에디션에 대해 애플리케이션을 관리할 수 있습니다.
activateEdition
activateEdition 명령은 에디션을 활성화합니다.
대상 오브젝트
없음.
매개변수
리턴값
- true: 성공
- false: 실패
일괄처리 모드 사용법 예제
- Jacl 사용:
$AdminTask activateEdition {-appName BeenThere -edition 1.0}
- Jython 문자열 사용:
AdminTask.activateEdition ('[-appName BeenThere -edition 1.0]')
- Jython 목록 사용:
AdminTask.activateEdition (['-appName', 'BeenThere', '-edition', '1.0'])
대화식 모드 예제 사용법
- Jacl 사용:
$AdminTask activateEdition {-interactive}
- Jython 문자열 사용:
AdminTask.activateEdition ('[-interactive]')
- Jython 목록 사용:
AdminTask.activateEdition (['-interactive'])
deactivateEdition
deactivateEdition 명령은 에디션을 활성화 해제합니다.
대상 오브젝트
없음.
매개변수
- -appName
- 애플리케이션 이름을 지정합니다. (문자열).
- -edition
- 애플리케이션 에디션의 값을 지정합니다. (문자열).
리턴값
- true: 성공
- false: 실패
일괄처리 모드 사용법 예제
- Jacl 사용: Jython 문자열 사용:
$AdminTask deactivateEdition {-appName BeenThere -edition 1.0}
AdminTask.deactivateEdition ('[-appName BeenThere -edition 1.0]')
- Jython 목록 사용:
AdminTask.deactivateEdition (['-appName', 'BeenThere', '-edition', '1.0'])
대화식 모드 예제 사용법
- Jacl 사용: Jython 문자열 사용:
$AdminTask deactivateEdition {-interactive}
AdminTask.deactivateEdition ('[-interactive]')
- Jython 목록 사용:
AdminTask.deactivateEdition (['-interactive'])
rolloutEdition
rolloutEdition 명령은 에디션을 롤아웃하고 그룹 크기를 지정합니다.
대상 오브젝트
없음.
매개변수
- -appName
- 애플리케이션 이름을 지정합니다. (문자열).
- -edition
- 사용자 정의 특성의 값을 지정합니다. (문자열).
- -params
- 롤아웃을 위한 구성 값을 지정합니다. (문자열).
- rollout strategy
- 그룹화: groupSize 키워드가 지정하는 대로 애플리케이션 클러스터가 한 번에 N대의 서버를 배치하는 클러스터 전체에서 동일한 애플리케이션의 현재 에디션 대신 지정된 애플리케이션을 활성화합니다. 기본 그룹 크기는 1입니다. 롤아웃 동안 애플리케이션의 두 에디션 모두가 요청을 처리할 수 있습니다. 항상 그룹 번호를 클러스터 크기보다 적어도 하나 아래로 설정하여 새 에디션의 롤아웃이 시작되는 동안 최소 하나 이상의 클러스터 멤버가 이전 에디션을 처리하도록 합니다.
- 원자적: 지정된 시간에 하나의 애플리케이션 에디션만이 요청을 처리할 수 있도록 애플리케이션 클러스터가 클러스터의 1/2만을 배치하는 클러스터 전체에서 동일한 애플리케이션의 현재 에디션 대신에 지정된 애플리케이션을 활성화합니다.
- reset strategy
- 롤아웃 조작 중에
애플리케이션 에디션 인스턴스를 시작하는 방법을 지정합니다.
- hard: 애플리케이션 서버를 중지하거나 다시 시작합니다.
- soft: 애플리케이션 서버는 실행 상태로 두고 애플리케이션 인스턴스를 중지하거나 다시 시작합니다.
- group size for group rollout
- rolloutStrategy가
그룹화될 때 업데이트할 서버 수를 지정합니다.
- 정수
- drainage interval
- 롤아웃 중에 세션이 완료될 수 있도록
애플리케이션 에디션을 중지하기 전에 대기할 시간(초)을 지정합니다.
기본값은 30초입니다.
- 정수
- quiesce strategy
- 클러스터 멤버 및 서버가 모든 활성 대화 상자 및 세션이 완료된 후 작업 정지되는지 또는
클러스터 멤버 및 서버가 지정한 간격 후에 작업 정지되는지를 지정합니다.
DEFAULT: 활성 대화 상자 및 세션이 완료된 후 클러스터 멤버 및 서버가 작업 정지됩니다.
INTERVAL: 클러스터 멤버 및 서버가 지정된 간격 후에 작업 정지됩니다. 또한 quiesceInterval은 정수 값의 초 수로 지정해야 합니다.
리턴값
- true: 성공
- false: 실패
일괄처리 모드 사용법 예제
- Jacl 사용: Jython 문자열 사용:
$AdminTask rolloutEdition {-appName BeenThere -edition 1.0 -params “{quiesceStrategy INTERVAL}{quiesceInterval 30}”}
AdminTask.rolloutEdition ('[-appName BeenThere -edition 1.0 -params “{quiesceStrategy INTERVAL}{quiesceInterval 30}”]')
문제점 방지: 다음 예제는 WebSphere® Application Server Network Deployment 버전 7.0.0.x에서 실행되는 버전 6.1.0.5에만 적용됩니다. gotcha
AdminTask.rolloutEdition ('[-appName BeenThere -edition 1.0 -params [[rolloutStrategy grouped][resetStrategy soft] [groupSize 1][drainageInterval 30]]]')
- Jython 목록 사용:
AdminTask.rolloutEdition (['-appName', 'BeenThere', '-edition', '1.0', '-params', '{quiesceStrategy INTERVAL}{quiesceInterval 30}'])
문제점 방지: 다음 예제는 WebSphere Application Server Network Deployment 버전 7.0.0.x에서 실행되는 버전 6.1.0.5에만 적용됩니다. gotcha
AdminTask.rolloutEdition (['-appName', 'BeenThere', '-edition', '1.0', '-params', '[[rolloutStrategy grouped][resetStrategy soft] [groupSize 1][drainageInterval 30]]'])
대화식 모드 예제 사용법
- Jacl 사용: Jython 문자열 사용:
$AdminTask rolloutEdition {-interactive}
AdminTask.rolloutEdition ('[-interactive]')
- Jython 목록 사용:
AdminTask.rolloutEdition (['-interactive'])
validateEdition
validateEdition 명령은 에디션의 유효성을 검증합니다.
대상 오브젝트
없음.
매개변수
- -appName
- 애플리케이션 이름을 지정합니다. (문자열).
- -edition
- 애플리케이션 에디션의 값을 지정합니다. (문자열).
- -params
- 유효성을 검증하는 동안 작성된 복제 클러스터의 설정을 지정합니다. 참고: 동적 클러스터의 경우 원래 클러스터의 크기가 복제 클러스터에 사용됩니다.
- 동적 클러스터:
- dynClusterMaxSize
- 시작할 동적 클러스터 인스턴스의 최대 수를 지정합니다.
- dynClusterMinSize
- 시작할 동적 클러스터 인스턴스의 최소 수를 지정합니다.
- 정적 클러스터:
- staticClusterSize
- 정적 클러스터의 크기를 지정합니다. staticClusterSize의 값은 복제되고 있는 정적 클러스터의 크기를 초과하지 않아야 합니다.
- 동적 클러스터:
리턴값
- true: 성공
- false: 실패
일괄처리 모드 사용법 예제
- Jacl 사용: Jython 문자열 사용:
$AdminTask validateEdition {-appName BeenThere -edition 1.0 -params “{dynClusterMaxSize 2}{dynClusterMinSize 1}”}
AdminTask.validateEdition ('[-appName BeenThere -edition 1.0 -params “{dynClusterMaxSize 2}{dynClusterMinSize 1}”]')
문제점 방지: 다음 예제는 WebSphere Application Server Network Deployment 버전 7.0.0.x에서 실행되는 버전 6.1.0.5에만 적용됩니다. gotcha
AdminTask.validateEdition ('[-appName BeenThere -edition 1.0 -params [[dynClusterMaxSize 2][dynClusterMinSize 1]]]')
- Jython 목록 사용:
AdminTask.validateEdition (['-appName', 'BeenThere', '-edition', '1.0', '-params', '{dynClusterMaxSize 2}{dynClusterMinSize 1}'])
문제점 방지: 다음 예제는 WebSphere Application Server Network Deployment 버전 7.0.0.x에서 실행되는 버전 6.1.0.5에만 적용됩니다. gotcha
AdminTask.validateEdition (['-appName', 'BeenThere', '-edition', '1.0', '-params', '[[dynClusterMaxSize 2][dynClusterMinSize 1]]'])
대화식 모드 예제 사용법
- Jacl 사용: Jython 문자열 사용:
$AdminTask validateEdition {-interactive}
AdminTask.validateEdition ('[-interactive]')
- Jython 목록 사용:
AdminTask.validateEdition (['-interactive'])
listEditions
listEditions 명령은 설치된 모든 애플리케이션 에디션 목록을 제공합니다.
대상 오브젝트
없음.
매개변수
- -appName
- 애플리케이션 이름을 지정합니다. (문자열).
리턴값
일괄처리 모드 사용법 예제
- Jacl 사용: Jython 문자열 사용:
$AdminTask listEditions {-appName HelloWorld}
AdminTask.listEditions ('[-appName HelloWorld]')
- Jython 목록 사용:
AdminTask.listEditions (['-appName', 'HelloWorld'])
대화식 모드 예제 사용법
- Jacl 사용: Jython 문자열 사용:
$AdminTask listEditions {-interactive}
AdminTask.listEditions ('[-interactive]')
- Jython 목록 사용:
AdminTask.listEditions (['-interactive'])
isEditionExists
isEditionExists 명령은 특정 애플리케이션에 대해 지정된 에디션이 존재하는지 확인합니다.
대상 오브젝트
없음.
매개변수
- -appName
- 애플리케이션 이름을 지정합니다. (문자열).
- -edition
- 애플리케이션 에디션의 값을 지정합니다. (문자열).
리턴값
- true: 성공
- false: 실패
일괄처리 모드 사용법 예제
- Jacl 사용: Jython 문자열 사용:
$AdminTask isEditionExists {-appName HelloWorld -edition 2.0}
AdminTask.isEditionExists ('[-appName HelloWorld -edition 2.0]')
- Jython 목록 사용:
AdminTask.isEditionExists (['-appName', 'HelloWorld', '-edition', '2.0'])
대화식 모드 예제 사용법
- Jacl 사용: Jython 문자열 사용:
$AdminTask isEditionExists {-interactive}
AdminTask.isEditionExists ('[-interactive]')
- Jython 목록 사용:
AdminTask.isEditionExists (['-interactive'])
cloneDynamicCluster
cloneDynamicCluster 명령은 다른 노드 그룹에서 사용할 동적 클러스터를 복제합니다.
대상 오브젝트
없음.
매개변수
- -clusterName
- 원래 동적 클러스터의 이름을 지정합니다. (문자열).
- -newClusterName
- 복제된 동적 클러스터의 이름을 지정합니다. (문자열).
- -nodeGroupName
- 복제된 동적 클러스터가 있는 노드 그룹의 이름을 지정합니다. 이 매개변수를 지정하지 않으면 기본적으로 이 이름은 현재 노드 그룹으로 설정됩니다. (문자열).
- -opMode
- 복제된 동적 클러스터의 조작 모드를 지정합니다.
이 매개변수를 지정하지 않으면 기본적으로 원래 동적 클러스터의 모드가
사용됩니다. 값을 automatic, manual 또는
supervised로 설정하십시오. (문자열).
조작 모드에 대한 자세한 정보는 동적 클러스터를 참조하십시오.
- -templateName
- 기존 템플리트의 이름을 cell_name/node_name/server_name 형식으로 지정합니다. 이 템플리트는 복제된 클러스터의 서버 인스턴스를 작성하는 데 사용됩니다.
일괄처리 모드 사용법 예제
- Jacl 사용: Jython 문자열 사용:
$AdminTask cloneDynamicCluster {-clusterName SourceCluster -newClusterName newCluster -nodeGroupName CloneNodeGroup -opMode supervised}
$AdminTask cloneDynamicCluster {-clusterName SourceCluster -newClusterName newCluster -nodeGroupName CloneNodeGroup -opMode supervised –templateName xdCell/xdNode/SourceCluster_member1}
AdminTask.cloneDynamicCluster ('[-clusterName SourceCluster -newClusterName newCluster -nodeGroupName CloneNodeGroup -opMode supervised]')
AdminTask.cloneDynamicCluster ('[-clusterName SourceCluster -newClusterName newCluster -nodeGroupName CloneNodeGroup -opMode supervised –templateName xdCell/xdNode/SourceCluster_member1]')
- Jython 목록 사용:
AdminTask.cloneDynamicCluster (['-clusterName', 'SourceCluster', '-newClusterName', 'newCluster', '-nodeGroupName', 'CloneNodeGroup', '-opMode', 'supervised'])
AdminTask.cloneDynamicCluster (['-clusterName', 'SourceCluster', '-newClusterName', 'newCluster', '-nodeGroupName', 'CloneNodeGroup', '-opMode', 'supervised','–templateName', 'xdCell/xdNode/SourceCluster_member1'])
대화식 모드 예제 사용법
- Jacl 사용: Jython 문자열 사용:
$AdminTask cloneDynamicCluster {-interactive}
AdminTask.cloneDynamicCluster ('[-interactive]')
- Jython 목록 사용:
AdminTask.cloneDynamicCluster (['-interactive'])
cancelValidation
cancelValidation 명령은 애플리케이션 에디션에 대한 유효성 검증 모드를 취소합니다.
getEditionState 명령은 애플리케이션 에디션의 상태를 리턴합니다. 기존 에디션의 상태는 ACTIVE, INACTIVE 또는 VALIDATE가 될 수 있습니다. 존재하지 않는 애플리케이션이나 에디션에 대해서는 이 메소드는 널을 리턴합니다.
대상 오브젝트
없음.
매개변수
- -appName
- 애플리케이션 이름을 지정합니다. (문자열).
- -edition
- 애플리케이션 에디션의 값을 지정합니다. (문자열).
리턴값
- true: 유효성 검증이 성공적으로 취소되었습니다.
- false: 유효성 검증의 취소에 실패했습니다.
일괄처리 모드 사용법 예제
- Jacl 사용: Jython 문자열 사용:
$AdminTask cancelValidation {-appName BeenThere -edition 1.0}
AdminTask.cancelValidation ('[-appName BeenThere -edition 1.0]')
- Jython 목록 사용:
AdminTask.cancelValidation (['-appName', 'BeenThere', '-edition', '1.0'])
대화식 모드 예제 사용법
- Jacl 사용: Jython 문자열 사용:
$AdminTask cancelValidation {-interactive}
AdminTask.cancelValidation ('[-interactive]')
- Jython 목록 사용:
AdminTask.cancelValidation (['-interactive'])
getEditionState
getEditionState 명령은 애플리케이션 에디션의 상태를 리턴합니다. 기존 에디션의 상태는 ACTIVE, INACTIVE 또는 VALIDATE가 될 수 있습니다. 존재하지 않는 애플리케이션이나 에디션에 대해서는 이 메소드는 널을 리턴합니다.
대상 오브젝트
없음.
매개변수
- -appName
- 애플리케이션 이름을 지정합니다. (문자열).
- -edition
- 애플리케이션 에디션의 값을 지정합니다. (문자열).
리턴값
- ACTIVE
- INACTIVE
- VALIDATE
일괄처리 모드 사용법 예제
- Jacl 사용: Jython 문자열 사용:
$AdminTask getEditionState {-appName BeenThere -edition 1.0}
AdminTask.getEditionState ('[-appName BeenThere -edition 1.0]')
- Jython 목록 사용:
AdminTask.getEditionState (['-appName', 'BeenThere', '-edition', '1.0'])
대화식 모드 예제 사용법
- Jacl 사용: Jython 문자열 사용:
$AdminTask getEditionState {-interactive}
AdminTask.getEditionState ('[-interactive]')
- Jython 목록 사용:
AdminTask.getEditionState (['-interactive'])
애플리케이션 에디션 설치
AdminApp install 명령을 사용하여 애플리케이션 에디션을 설치합니다. 에디션 ID를 지정하려면 -edition 매개변수를 전달해야 합니다.
- Jacl 사용:
$AdminApp install /tmp/BeenThere1.0.ear {-appname BeenThere -edition 1.0 -nopreCompileJSPs -distributeApp -nouseMetaDataFromBinary -nodeployejb -createMBeansForResources -noreloadEnabled -nodeployws -validateinstall warn -noprocessEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755 -noallowDispatchRemoteInclude -noallowServiceRemoteInclude -MapModulesToServers {{"BeenThere WAR" BeenThere.war,WEB-INF/web.xml WebSphere: cell=TestCell,cluster=TestClusterB} {"BeenThere EJB" BeenThere.jar,META-INF/ejb-jar.xml WebSphere: cell=TestCell,cluster=TestClusterB}}}
- Jython 사용:
AdminApp.install("/tmp/BeenThere1.0.ear", '[-appname BeenThere -edition 1.0 -nopreCompileJSPs -distributeApp -nouseMetaDataFromBinary -nodeployejb -createMBeansForResources -noreloadEnabled -nodeployws -validateinstall off -processEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755 -buildVersion Unknown -noallowDispatchRemoteInclude -noallowServiceRemoteInclude -MapModulesToServers [["BeenThere WAR" BeenThere.war,WEB-INF/web.xml WebSphere:cell=TestCell,cluster=TestClusterB] ["BeenThere EJB" BeenThere.jar,META-INF/ejb-jar.xml WebSphere: cell=TestCell,cluster=TestClusterB]]]')
애플리케이션 에디션 업데이트
AdminApp update 명령을 사용하여 애플리케이션을 에디션으로 업데이트합니다. 에디션을 지정하려면 애플리케이션 및 에디션의 이름인 전체 애플리케이션 이름을 전달하십시오.
- Jacl 사용:
$AdminApp update BeenThere-edition1.0 app {-operation update -contents /tmp/BeenThereE1-update.ear -nopreCompileJSPs -distributeApp -nouseMetaDataFromBinary -nodeployejb -createMBeansForResources -noreloadEnabled -nodeployws -validateinstall warn -noprocessEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755 -noallowDispatchRemoteInclude -noallowServiceRemoteInclude}
- Jython 사용:
AdminApp.update('BeenThere-edition1.0', 'app', '[-operation update -contents /tmp/BeenThereE1-update.ear -nopreCompileJSPs -distributeApp -nouseMetaDataFromBinary -nodeployejb -createMBeansForResources -noreloadEnabled -nodeployws -validateinstall warn -noprocessEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755 -noallowDispatchRemoteInclude -noallowServiceRemoteInclude]')
애플리케이션 에디션 편집
AdminApp edit 명령을 사용하여 애플리케이션 에디션을 편집합니다. 에디션을 지정하려면 애플리케이션 및 에디션의 이름인 전체 애플리케이션 이름을 전달하십시오.
- Jacl 사용:
$AdminApp edit BeenThere-edition1.0 {-CtxRootForWebMod {{"BeenThere WAR" BeenThere.war,WEB-INF/web.xml /beenthere}}}
- Jython 사용:
AdminApp.edit('BeenThere-edition1.0', '[-CtxRootForWebMod [["BeenThere WAR" BeenThere.war,WEB-INF/web.xml /beenthere]]]')
애플리케이션 에디션 설치 제거
AdminApp uninstall 명령을 사용하여 애플리케이션 에디션을 설치 제거합니다. 에디션을 지정하려면 애플리케이션 및 에디션의 이름인 전체 애플리케이션 이름을 전달하십시오.
- Jacl 사용:
$AdminApp uninstall BeenThere-edition1.0
- Jython 사용:
AdminApp.uninstall('BeenThere-edition1.0')