
batchManagerZos 클라이언트 유틸리티 구성
batchManagerZos 클라이언트 유틸리티를 사용하여 z/OS의 Liberty에서 실행 중인 일괄처리 작업을 관리할 수 있습니다.
이 태스크 정보
batchManagerZos 클라이언트 유틸리티는 z/OS용 Liberty에서 실행 중인 일괄처리 작업을 관리하기 위한 batchManager 명령행 유틸리티의 고유하게 컴파일된 버전입니다. 이 유틸리티는 원시 프로그램이며 JVM이 필요하지 않습니다. 유틸리티는 batchManagement-1.0 기능에 포함되어 있습니다.
batchManagerZos 클라이언트 유틸리티는 batchManager 명령행 유틸리티에서 지원하는 명령과 옵션의 서브세트를 지원합니다. 명령과 옵션 목록을 보려면 $ batchManagerZos help 명령을 사용하십시오.
batchManagerZos 클라이언트 유틸리티는 최적화 로컬 어댑터를 사용하여 로컬 환경에서 실행 중인 Liberty 서버에 연결합니다. batchManagerZos 클라이언트 유틸리티는 원격 서버에 연결할 수 없습니다.
- 보안 고려사항
- batchManagerZos 클라이언트 유틸리티의 보안 동작은 Liberty 서버가 SAF 레지스트리를 사용하는지 여부에 따라 다릅니다.
- 서버가 SAF 사용자 레지스트리를 사용하는 경우, batchManagerZos 클라이언트 유틸리티 ID는 일괄처리 요청에 대한 요청자 ID(Java 플랫폼, Enterprise Edition RunAs 주제)로 설정됩니다.
- 서버가 SAF 사용자 레지스트리를 사용하지 않으면, batchManagerZos 클라이언트 유틸리티 ID는 무시됩니다. 이 경우 EVERYONE 특수 주제가 일괄처리 요청에 대한 요청자 ID로 설정됩니다.
- 일괄처리 역할 기반 권한
서버에서 appSecurity가 사용으로 설정된 경우 요청에 필요한 적절한 일괄처리 보안 역할에 요청자 ID를 지정해야 합니다. 유효한 일괄처리 보안 역할은 batchAdmin, batchSubmitter 및 batchMonitor입니다. ID에 필요한 역할을 지정하지 않으면 요청이 실패하고 보안 예외가 발생합니다.
보안 권한 제공자가 권한을 관리합니다. 서버에서 SAF 권한 부여를 사용하는 경우 SAF 권한 제공자는 EJBROLE 클래스에 정의된 SAF 자원 프로파일에 대한 해당 ID의 액세스 권한을 확인하여 요청자 ID의 권한을 판별합니다. 기본적으로 다음과 같은 자원 프로파일이 일괄처리 역할과 연관됩니다.
해당 일괄처리 역할에 권한을 부여하려면 요청자 ID에 적절한 자원 프로파일에 대한 읽기 액세스 권한을 부여해야 합니다.batchAdmin: BBGZDFLT.com.ibm.ws.batch.batchAdmin batchSubmitter: BBGZDFLT.com.ibm.ws.batch.batchSubmitter batchMonitor: BBGZDFLT.com.ibm.ws.batch.batchMonitor
다음 예는 클라이언트 ID bob에 batchAdmin 역할 권한을 부여하는 RACF 명령을 보여줍니다.
RDEFINE EJBROLE BBGZDFLT.com.ibm.ws.batch.batchAdmin UACC(NONE) PERMIT BBGZDFLT.com.ibm.ws.batch.batchAdmin CLASS(EJBROLE) ID(bob) ACCESS(READ)
- jobParametersFile 및 jobPropertiesFile
- batchManagerZos 클라이언트 유틸리티를 사용하여 일괄처리 작업을 제출하는 경우 jobParametersFile 및 jobPropertiesFile은 쉼표로 구분된 복수의 파일을 사용할 수 있도록 지원합니다. 쉼표로 구분된 목록의 뒷부분에 있는 파일은 목록의 앞 부분에 있는 파일보다 우선순위가 높습니다. 다음 예제는 쉼표로 구분된 목록의 올바른 사용법을 보여줍니다.
예를 들어, --jobParametersFile=<filepath1>는 제어 특성 파일의 --jobParametersFile=<filepath1>,<filepath2>를 대체할 수 있습니다. 결과 매개변수는 --jobParametersFile=<filepath1>입니다.jobParametersFile=filePath1,filePath2,filePath3 jobPropertiesFile=filePath1,filePath2,filePath3
제어 특성 및 작업 매개변수
단일 작업 매개변수 세트를 빌드하려면 프로그램은 빈 세트로 시작하여 다양한 소스의 특성을 계속 로드합니다. 그런 다음, 프로그램은 특성을 단일 세트에 병합합니다. 프로그램은 모든 소스를 읽고 로드한 후 단일 특성 세트를 작업 매개변수로 작업 제출에 전달합니다.
이 특성 세트는 이 순서대로 병합하여 빌드됩니다. 동일한 키를 가진 동일한 특성이 두 번 이상 로드되고 설정되면 나중 값이 이전 값을 대체합니다. 이 시퀀스의 이후 단계는 이전 단계보다 우선순위가 높습니다.
- --jobParametersFile 매개변수가 명령행 매개변수로
포함되지 않은 경우 오름차순 서열대로 다음 조치가 발생합니다.
- 작업 매개변수 제어 특성이 로드되고 병합됩니다. 이러한 특성은 제어 특성 파일 내부에 --jobParameter=key=value로 구조화됩니다.
- --jobParametersFile 매개변수에 의해 참조되는 파일의 컨텐츠가 로드되고 병합됩니다.
- 명령행 작업 매개변수가 로드되고 병합됩니다.
- --jobParametersFile 매개변수가 명령행 매개변수로
포함되지 않은 경우 오름차순 서열대로 다음 조치가 발생합니다.
- --jobParametersFile 제어 특성에 의해 참조되는 파일의 컨텐츠가 로드되고 병합됩니다. 이 제어 특성은 하나의 제어 특성 파일에만 나타날 수도 있고, 특성이 대체된 경우 둘 이상의 파일에 나타날 수도 있습니다.
- 작업 매개변수 제어 특성이 로드되고 병합됩니다. 이러한 특성은 제어 특성 파일 내부에 --jobParameter=key=value로 구조화됩니다.
- 명령행 작업 매개변수가 로드되고 병합됩니다.
이 구조는 --controlPropertiesFile 매개변수가 명령행 인수보다 우선순위가 낮기 때문에 발생합니다. --jobParametersFile 매개변수를 지정하는 레벨은 해당 파일의 우선순위 레벨을 판별합니다.
프로그램은 시퀀스의 각 파일을 읽고 로드할 때 발견되는 --jobParametersFile 및 --jobPropertiesFile 특성을 하나의 특성으로 접습니다. 각 특성은 다른 특성의 별명입니다. 이러한 별명 중 하나를 사용하여 명령행 인수 또는 제어 특성을 대체하면 이전에 대체된 제어 특성 파일에 나타나는 둘 중 하나의 인스턴스가 대체됩니다.
참고: 매개변수는 개별 행에 대한 주석만 허용합니다.- --jobParametersFile 매개변수가 명령행 매개변수로
포함되지 않은 경우 오름차순 서열대로 다음 조치가 발생합니다.
- 작업 다시 시작 옵션
batchManagerZos 클라이언트 유틸리티 명령 옵션 restartTokenFile은 작업 다시 시작이 용이하도록 submit 명령에서 사용 가능합니다. 이 옵션의 값은 다시 시작할 작업의 인스턴스 ID를 보유하고 있는 파일의 이름입니다. 파일은 batchManagerZos 유틸리티에 의해 읽히거나 쓰여집니다. 파일에 인스턴스 ID가 포함되어 있으면 작업이 다시 시작됩니다. 파일에 인스턴스 ID가 포함되어 있지 않으면 새 작업이 제출되고 결과 인스턴스 ID가 파일에 저장됩니다. 작업이 다시 시작 가능한 상태에서 종료되지 않으면 인스턴스 ID가 파일에서 제거됩니다. 이 파일은 데이터 세트 이름(\'USER.MY.FILE\'), 파일(/u/user/myfile) 또는 DD(DD:RSTRTID)가 될 수 있습니다.
참고: 따옴표는 모두 백슬래시 문자 \로 이스케이프 처리해야 합니다.다음 예제는 작업 다시 시작 옵션을 보여줍니다.
이 예제 파일은 JCL 프로시저이며 별도의 라이브러리에 저장될 수 있습니다.//LIBBATCH PROC UN1='unique1',UN2='unique2' //STEP1 EXEC PGM=BPXBATSL //STDOUT DD SYSOUT=* //STDERR DD SYSOUT=* //STDPARM DD * PGM /u/TESTER1/wlp/lib/native/zos/s390x/batchManagerZos submit --batchManager=LIBERTY+BATCH+MANAGER --controlPropertiesFile=DD:CPROP --jobParametersFile=DD:JPROP --restartTokenfile=DD:WGRSTRT //WGRSTRT DD PATH='/u/TESTER1/restart/&UN1..&UN2..props', // PATHOPTS=(ORDWR,OCREAT), // PATHMODE=(SIRWXU,SIRWXG) //LIBBATCH PEND
예제 파일은 JCL 프로시저를 실행하는 제출 가능한 JCL 작업입니다.//ZBATCH JOB (),MSGCLASS=H,CLASS=A, // USER=TESTER1,PASSWORD=TESTERPW //MYLIBS1 JCLLIB ORDER=‘TESTER1.PROCS.JCL' //SUBMIT EXEC PROC=LIBBATCH,UN1='MARY',UN2='D051016' //CPROP DD * --applicationName=SimpleBatchJob --jobXMLName=test_batchlet_stepCtx --returnExitStatus --wait //* //JPROP DD * jprop1=value1 //*
- 작업 로그 스트리밍
--getJobLog, --queueManagerName 및 --wait 명령 옵션이 submit 또는 restart 명령에서 지정된 경우, 클라이언트는 작업 로그 이벤트를 구독하며 수신된 메시지를 STDOUT에 인쇄합니다. 작업 로그 이벤트를 수신하려면 일괄처리 작업 이벤트 공개를 사용해야 합니다. 일괄처리 작업 이벤트 공개의 구성에 대한 자세한 정보는 일괄처리 작업 이벤트 공개 사용에 대한 문서를 참조하십시오.
작업 로그 이벤트는 새 작업 로그 파트가 작성되거나 작업이 종료될 때마다 공개됩니다. 작업 로그 파일당 최대 로그 레코드 수에 도달하거나 작업 로그 이벤트 공개 간의 최대 시간(초)에 도달함에 따라 새 작업 로그 파트가 작성됩니다. 자세한 정보는 에 대한 문서를 참조하십시오.
- 리턴 코드
- batchManagerZos 클라이언트 유틸리티는 다음과 같은 리턴 코드를 출력합니다.
코드 설명 0 태스크가 정상적으로 완료되었습니다. 20 필수 인수를 지정하지 않았습니다. 21 인식되지 않는 인수를 지정했습니다. 22 올바르지 않은 인수 값을 지정했습니다. 255 알 수 없는 오류가 발생했습니다. 참고: --wait 인수를 지정하면 유틸리티는 사용자가 기다리고 있는 작업의 상태에 대해 다음과 같은 리턴 코드를 출력합니다.코드 설명 33 작업이 중지되었습니다. 34 작업이 정상적으로 완료되지 않았습니다. 35 작업이 정상적으로 완료되었습니다. 36 작업을 포기했습니다. 참고: BPXBATCH를 실행하여 batchManagerZos를 실행하는 경우 BPXBATCH의 리턴 코드가 batchManagerZos의 리턴 코드와 일치하지 않습니다. BPXBATCH는 batchManagerZos 리턴 코드를 가져와서 1바이트 위로 이동시킵니다. 예를 들어 batchManagerZos에서 1을 리턴하는 경우 BPXBATCH는 256을 리턴하며, 이는 16진 값 0x01을 0x100으로 1바이트만큼 위로 이동한 것입니다.JCL STEP에서 BPXBATCH를 호출하는 경우 STEP 리턴 코드는 BPXBATCH 리턴 코드에서 아래 3자리 16진 문자로 잘리게 됩니다. 예를 들어 batchManagerZos에서 35(16진수 0x23)를 리턴하는 경우 BPXBATCH에서 0x2300을 리턴합니다. JCL STEP은 이 리턴 코드를 0x0300(또는 768)으로 자릅니다.
- 제한사항
batchManagerZos 클라이언트 유틸리티 stop 명령은 작업이 실행 중인 일괄처리 실행기를 대상으로 해야 합니다. 다중 서버 환경의 Stop 명령이 실패하며 BatchJobNotLocalException이 발생할 수 있습니다. batchManagerZos 클라이언트 유틸리티는 작업이 실행 중인 일괄처리 실행기가 아닌 지정된 일괄처리 디스패처에 연결됩니다. 일괄처리 디스패처는 일반적으로 제출 요청을 수신하고 다운스트림 일괄처리 실행기에 분배합니다.