스크립트를 사용하여 EJB 비동기 메소드 구성
wsadmin 스크립트를 사용하여 EJB(Enterprise JavaBeans) 비동기 메소드를 구성하십시오.
시작하기 전에
이 태스크 정보
프로시저
- Jython 스크립트 언어를 사용하여 wsadmin 스크립팅 도구를 실행하십시오.
- 업데이트해야 하는 EJBAsync 구성 오브젝트의 속성을
판별하십시오. EJBAsync
구성 오브젝트의 다음 속성을 업데이트할 수 있습니다.
표 1. EJBAsync 구성 오브젝트의 속성. 이 표는 EJBAsync 구성 오브젝트의 속성에 대해 설명합니다. 속성 설명 maxThreads 비동기 EJB 메소드의 실행에 사용되는 최대 스레드 수를 지정합니다. 기본값은 5입니다.
workReqQSize 작업 요청 큐의 크기를 지정합니다. 작업 요청 큐는 스레드에서 비동기 메소드를 실행할 수 있을 때까지 요청된 비동기 메소드를 보유하는 버퍼입니다. maxThreads 및 workReqQSize 속성의 합계는 허용 가능한 진행 중인 메소드 요청의 총계입니다.
예를 들어, maxThreads를 5개의 스레드로 설정하고 workReqQSize를 50으로 설정하면 허용 가능한 진행 중인 메소드 요청의 총계는 55입니다.
기본값은 0으로 런타임 환경에서 큐 크기를 관리함을 나타냅니다. 런타임에서는 현재 20보다 큰 maxThreads를 사용합니다.
workReqQFullAction 스레드 풀이 소진되고 작업 요청 큐가 가득 찬 경우 취할 조치를 지정합니다. 1로 설정하면 스레드 또는 큐의 위치 하나가 사용 가능할 때까지 기다리지 않고 예외가 발생합니다.
0으로 설정하면 스레드 또는 큐의 위치 하나가 사용 가능하게 될 때까지 비동기 메소드 실행을 요청 중인 스레드가 대기됩니다.
기본값은 0입니다.
customWorkManagerJNDIName 네임스페이스의 사용자 정의 작업 관리자를 찾기 위해 사용되는 JNDI(Java™ Naming and Directory Interface) 이름을 지정합니다. 기본값은 널입니다.
useCustomDefinedWM 사용자 정의 작업 관리자 인스턴스 또는 기본 내부 작업 관리자 인스턴스가 사용되는지 여부를 지정합니다. useCustomDefinedWM 속성이 true로 설정되면 이는 사용자 정의 작업 관리자 인스턴스가 사용됨을 의미합니다. 이 경우 customWorkManagerJNDIName 속성을 설정해야 하고 다른 모든 속성은 무시됩니다.
useCustomDefinedWM 속성이 false로 설정되면 기본 내부 작업 관리자 인스턴스가 사용됩니다. 이 경우 customWorkManagerJNDIName 속성이 무시되고 다른 모든 속성이 기본 작업 관리자 인스턴스를 구성하는 데 사용됩니다.
기본값은 false입니다.
futureTimeout fire-and-return 비동기 메소드를 실행한 결과 작성된 서버측 이후 오브젝트를 사용할 수 있는 시간(초)를 지정합니다. get() 메소드를 호출한 후 값이 원격 클라이언트로 리턴되면 서버측 이후 오브젝트가 유효하지 않습니다. 메모리 누수를 피하려면 이후 오브젝트에 대해 get() 메소드를 호출하거나 양수 및 0이 아닌 이후 지속 기간 값을 지정해야 합니다. 이후 지속 기간 값이 0이면 이후 오브젝트의 제한시간이 초과되지 않음을 나타냅니다.
기본값은 86400으로, 애플리케이션 서버에서 24시간 후에 오브젝트를 만기시키고 정리하여 더 이상 사용할 수 없습니다.
이후 오브젝트가 만기된 후 get() 메소드를 호출하면 org.omg.CORBA.OBJECT_NOT_EXIST 예외가 발생합니다.
지원된 구성: 이 값은 원격 비즈니스 인터페이스를 사용하여 엔터프라이즈 Bean을 호출하는 클라이언트에만 적용되고 로컬 비즈니스 인터페이스 또는 인터페이스 없는 보기에는 사용되지 않습니다. 비동기 작업이 완료되면 서버에서는 서버 측 이후 오브젝트에 대해 지정된 지속 기간에 대해 알람을 설정합니다. 알람이 활성화되면 서버에서는 이후 오브젝트와 연관된 모든 자원을 해제하여 클라이언트에 대해 사용 불가능하도록 설정합니다. 지속 시간 전에 클라이언트에서 이후 오브젝트에 대해 get() 메소드를 호출하면 알람이 취소되고 해당 이후 오브젝트와 연관된 모든 자원이 해제됩니다.sptcfg
지원된 구성: 이 속성은 서버의 이후 오브젝트 수에 영향을 미칠 수 있습니다. AsynchFutureObjectCount PMI 통계를 사용하여 서버의 열린 FutureObjects 개수를 판별하면 애플리케이션이 해당 오브젝트에 대해 get() 메소드를 호출하지 않고 이후 오브젝트를 누적 중인지 여부를 판별하는 데 도움이 됩니다. 자세한 정보는 엔터프라이즈 Bean 카운터 주제를 참조하십시오.sptcfg
- 올바른 EJBAsync 구성 오브젝트에 대한 참조를 가져와
변수에 저장하십시오.
Jacl 사용:
set async [$AdminConfig list EJBAsync]
Jython 사용:
async = AdminConfig.list('EJBAsync')
다중 서버 환경인 경우 다중 EJBAsync 구성 오브젝트가 리턴됩니다. 목록을 프로그래밍 방식으로 루프하고 업데이트해야 하는 서버에 해당하는 EJBAsync 구성 오브젝트를 선택합니다.
다중 서버 환경에서 EJBAsync 오브젝트 목록을 프로그래밍 방식으로 루프하는 대신 수동으로 올바른 EJBAsync 오브젝트를 선택하여 복사한 다음 변수에 붙여넣을 수 있습니다.
예를 들어, AdminConfig list 명령의 출력은 다음과 같습니다.
(cells/myNode04Cell/nodes/myCellManager01/servers/dmgr|server.xml#EJBAsync_1)(cells/myNode04Cell/nodes/myNode04/servers/server1|server.xml#EJBAsync_1247498700906)
필요한 EJBAsync 오브젝트에 대한 참조를 복사한 다음 변수에 붙여넣을 수 있습니다.
Jacl 사용:
set async "(cells/myNode04Cell/nodes/myNode04/servers/server1|server.xml#EJBAsync_1247498700906)"
Jython 사용:
async = "(cells/myNode04Cell/nodes/myNode04/servers/server1|server.xml#EJBAsync_1247498700906)"
- EJBAsync 구성 오브젝트에 대한 속성을 업데이트하십시오.
AdminConfig modify 명령을 사용하여 EJBAsync 구성 오브젝트에 대한 속성을 업데이트하십시오. 명령에 대한 입력으로 이전 단계에서 얻은 EJBAsync 참조를 지정하고 attributeName 및 attributeValue 조합 목록을 지정하십시오.
10개의 최대 스레드 개수를 설정하려면 다음과 같이 큐 크기를 15로, futureTimeout을 3600초로 설정하십시오.
Jacl 사용:
set update "{maxThreads 10} {workReqQSize 15} {futureTimeout 3600}" $AdminConfig modify $async $update
Jython 사용:
AdminConfig.modify(async, '[ [maxThreads "10"] [workReqQSize "15"] [futureTimeout "3600"] ]')
- 구성 변경사항을 저장하십시오.
Jython 사용:
AdminConfig.save()
Jacl 사용:
$AdminConfig save
- Network Deployment 환경에서만 노드를 동기화하십시오.
Jacl 사용:
set sync1 [$AdminControl completeObjectName type=NodeSync,node=<your node>,*] $AdminControl invoke $sync1 sync
Jython 사용:
sync1 = AdminControl.completeObjectName('type=NodeSync,node=<your node>,*') AdminControl.invoke(sync1, 'sync')
이러한 예제에서는 서버에 연결된 상태에서 노드 동기화를 실행해야 합니다.
결과


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