스크립트를 사용하여 타이머 서비스 구성
wsadmin 스크립트를 사용하여 엔터프라이즈 JavaBeans(EJB) 타이머 서비스를 구성합니다.
시작하기 전에
이 태스크 정보
EJBTimer 구성 오브젝트는 서버 레벨에 존재합니다. 즉, 다중 서버 환경의 각 서버가 고유한 EJBTimer 구성 오브젝트를 보유하며, 개별적으로 구성되어야 합니다.
프로시저
- Jython 또는 스크립트 언어를 사용하여 스크립트 도구를 시작하십시오.
- EJBTimer 구성 오브젝트에서 업데이트해야 하는 속성을 판별하십시오. EJBTimer 구성 오브젝트에서 다음 속성을 업데이트할 수 있습니다.
- datasourceJNDIName
- datasourceAlias
- tablePrefix
- pollInterval
- numAlarmThreads
- schedulerJNDIName
- numNPTimerThreads
- nonPersistentTimerRetryCount
- nonPersistentTimerRetryInterval
- uniqueTimerManagerForNP
각 속성의 전체 설명은 EJB 타이머 서비스 설정에 대한 정보를 참조하십시오.
4가지 유형의 EJB 타이머가 존재합니다.- 지속적 타이머. 기본 내부 스케줄러 인스턴스에서 지원됩니다.
- 지속적 타이머. 사용자 정의 스케줄러 인스턴스에서 지원됩니다.
- 비지속적 타이머. 지속적 타이머와 스레드 풀을 공유합니다.
- 비지속적 타이머. 지속적 타이머와 스레드 풀을 공유하지 않습니다.
EJBTimer 구성 오브젝트는 EJB 타이머의 모든 4개 유형에 대한 구성 데이터를 포함합니다. 4개 유형의 각 타이머는 EJBTimer 구성 오브젝트에서 구성 속성의 서브세트를 사용합니다. EJBTimer 구성 오브젝트의 모든 속성은 타이머 유형 중 하나 이상을 구성하는 데 사용되며 모든 타이머 유형을 구성하는 데 사용되는 속성은 없습니다. 따라서 사용하도록 구성된 타이머 유형과 해당 타이머 유형에 적용되는 구성 속성을 이해해야 합니다.
표 1. 타이머 유형 및 구성 속성. 타이머의 각 유형을 구성하는 데 사용되는 EJBTimer 속성을 표시합니다. 속성 지속적, 기본 스케줄러 지속적, 사용자 정의 스케줄러 비지속적, 공유 스레드 풀 비지속적, 고유 스레드 풀 datasourceJNDIName 예 아니오, 대신 사용자 정의 스케줄러 구성에서 지정됨 아니오 아니오 datasourceAlias 예 아니오, 대신 사용자 정의 스케줄러 구성에서 지정됨 아니오 아니오 tablePrefix 예 아니오, 대신 사용자 정의 스케줄러 구성에서 지정됨 아니오 아니오 pollInterval 예 아니오, 대신 사용자 정의 스케줄러 구성에서 지정됨 아니오 아니오 numAlarmThreads 예 아니오 예 아니오 schedulerJNDIName 아니오 예 아니오 아니오 numNPTimerThreads 아니오 아니오 아니오 예 nonPersistentTimerRetryCount 아니오 아니오 예 예 nonPersistentTimerRetryInterval 아니오 아니오 예 예 uniqueTimerManagerForNP 아니오 아니오 예 예 schedulerJNDIName 속성 값의 존재는 사용하는 지속적 타이머 유형을 판별합니다. schedulerJNDIName 속성에 값이 있으면, 사용자 정의 스케줄러 인스턴스가 사용됩니다. schedulerJNDIName에 값이 없으면 기본 내부 스케줄러 인스턴스가 사용됩니다.
numAlarmThreads 속성은 관리 콘솔의 지속적 EJB 타이머 구성 섹션에서 타이머 스레드 수 옵션에 맵핑됩니다. numNPTimerThreads 속성은 관리 콘솔의 비지속적 EJB 타이머 구성 섹션에서 타이머 스레드 수 옵션에 맵핑됩니다.
uniqueTimerManagerForNP 속성은 관리 콘솔에서 지속적 타이머에 대해 구성된 스레드 풀 공유 및 비지속적 타이머 옵션의 경우 별도의 스레드 풀 작성에 맵핑됩니다.
uniqueTimerManagerForNP 속성은 지속적 타이머 및 비지속적 타이머 사이에서 공유되는지 여부를 판별합니다. 또한 numAlarmThreads 또는 numNPTimerThreads 구성 속성이 사용되는지도 판별합니다.
표 2. uniqueTimerManagerForNP 속성의 영향. uniqueTimerManagerForNP 속성은 스레드 풀 공유 및 스레드 구성 모두에 영향을 줍니다. uniqueTimerManagerForNP attribute 지속적 및 비지속적 타이머가 스레드 풀을 공유함 사용된 스레드 구성 속성 무시된 스레드 구성 속성 true 아니오 numNPTimerThreads numAlarmThreads false 예 numAlarmThreads numNPTimerThreads - 올바른 EJBTimer 구성 오브젝트에 대한 참조를 확보하고
이를 변수에 저장하십시오.
Jacl 사용:
set timer [$AdminConfig list EJBTimer]
Jython 사용:timer = AdminConfig.list('EJBTimer')
다중 서버 환경인 경우 다중 EJBTimer 구성 오브젝트가 리턴됩니다. 프로그래밍 방식으로 목록을 반복하고 업데이트해야 하는 서버에 대응하는 EJBTimer 구성 오브젝트를 선택하십시오.
다중 서버 환경에서는 프로그래밍 방식으로 EJBTimer 오브젝트 목록을 반복하는 대신, 올바른 EJBTimer 오브젝트를 수동으로 선택하고 변수에 복사하여 붙여넣을 수 있습니다.
예를 들어, AdminConfig list 명령의 출력이 다음과 같은 경우,
(cells/myCell01/nodes/myCellManager01/servers/dmgr|server.xml#EJBTimer_1)(cells/myCell01/nodes/myNode02/servers/server1|server.xml#EJBTimer_1246050925244)
필요한 EJBTimer 오브젝트의 참조를 변수로 복사하여 붙여넣으십시오.
Jacl 사용:set timer "(cells/myCell01/nodes/myNode02/servers/server1|server.xml#EJBTimer_1246050925244)"
Jython 사용:timer = "(cells/myCell01/nodes/myNode02/servers/server1|server.xml#EJBTimer_1246050925244)"
- EJBTimer 구성 오브젝트에서 속성을 업데이트하십시오.
AdminConfig modify 명령을 사용하여 EJBTimer 구성 오브젝트에서 속성을 업데이트하십시오. 명령에 대한 첫 번째 인수는 이전 단계에서 확보한 EJBTimer 참조입니다. 명령에 대한 두 번째 인수는 이름-값 쌍의 목록입니다.
10번의 재시도 수를 설정하고 각 시도 간 재시도 간격을 15초로 설정하려면 다음을 수행하십시오.
Jacl 사용:set update "{nonPersistentTimerRetryCount 10} {nonPersistentTimerRetryInterval 15}" $AdminConfig modify $timer $update
Jython 사용:AdminConfig.modify(timer, '[[nonPersistentTimerRetryCount "10"] [nonPersistentTimerRetryInterval "15"]]')
- 구성 변경사항을 저장하십시오.
Jython 사용:
AdminConfig.save()
Jacl 사용:$AdminConfig save
- Network Deployment 환경에서만 노드를 동기화하십시오.
Jacl 사용:
set sync1 [$AdminControl completeObjectName type=NodeSync,node=<your node>,*] $AdminControl invoke $sync1 sync
이 예제에서 노드 동기화는 서버에 연결된 동안 실행되어야 합니다.sync1 = AdminControl.completeObjectName('type=NodeSync,node=<your node>,*') AdminControl.invoke(sync1, 'sync')
결과
하위 주제
- 네트워크 배치를 위한 타이머 서비스 구성
애플리케이션 서버가 종료되거나 재시작하더라도 지속될 수 있는 타이머에 대한 EJB(Enterprise JavaBeans) 타이머 서비스를 구성할 수 있습니다. - 예: TimedObject 인터페이스에서 타이머 서비스 사용
이 예는 예정된 이벤트 발생 시 호출되는 ejbTimeout() 메소드의 구현을 보여줍니다. - EJB 타이머 서비스 설정
이 페이지에서 특정 EJB(Enterprise JavaBeans) 컨테이너에 대한 EJB 타이머 서비스를 구성하고 관리할 수 있습니다. - 타이머 서비스 구성
특정 EJB 컨테이너에 대한 EJB 타이머 서비스를 구성하고 관리할 수 있습니다.


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