일괄처리 작업 이벤트 공개 사용

JMS(Java Messaging System)를 사용하여 일괄처리 서버가 작업 관련 이벤트를 외부 클라이언트에 공개할 수 있습니다.

이 태스크 정보

작업 관련 이벤트를 외부 클라이언트에 공개하는 일괄처리 서버의 기능을 사용하면 모니터를 통해 작업 관련 이벤트 및 실패 시 보고서를 확인할 수 있습니다. 일괄처리 디스패처 서버는 디스패치 단계(Phase)에서 작업에 대한 이벤트를 공개할 수 있습니다. 일괄처리 실행기 서버는 여러 실행 단계(Phase)를 통과할 때 작업에 대한 이벤트를 공개할 수 있습니다. 이러한 이벤트는 다음 구조의 토픽 트리에 공개됩니다.

표 1. 이벤트 공개를 위한 토픽 트리의 파일 구조
구조 설명
batch 토픽 트리의 기본 루트입니다.
[17.0.0.1 and later]참고: 버전 17.0.0.1 이상에서는 토픽 트리의 루트를 구성할 수 있습니다.
batch/jobs 모든 작업 관련 이벤트의 토픽 트리입니다.
   
batch/jobs/instance 작업 인스턴스와 관련된 모든 이벤트의 토픽 트리입니다.
batch/jobs/instance/submitted 토픽 트리 노드입니다. 일괄처리 서버가 새 작업 제출을 위한 작업 인스턴스를 작성할 때 메시지가 공개됩니다.
batch/jobs/instance/jms_queued 토픽 트리 노드입니다. 일괄처리 JMS 디스패처가 작업 제출 큐에 작업 제출을 배치할 때 메시지가 공개됩니다.
batch/jobs/instance/jms_consumed 토픽 트리 노드입니다. 일괄처리 실행기가 작업 제출 큐에서 작업 제출을 수신할 때 메시지가 공개됩니다.
batch/jobs/instance/dispatched 토픽 트리 노드입니다. 일괄처리 실행기가 실행할 작업 인스턴스를 허용할 때 메시지가 공개됩니다.
batch/jobs/instance/completed 토픽 트리 노드입니다. 작업 인스턴스가 완료될 때 메시지가 공개됩니다.
batch/jobs/instance/stopped 토픽 트리 노드입니다. 작업 인스턴스가 중지되었을 때 메시지가 공개됩니다.
batch/jobs/instance/stopping 토픽 트리 노드입니다. 작업 인스턴스가 중지 중일 때 메시지가 공개됩니다.
batch/jobs/instance/failed 토픽 트리 노드입니다. 작업 인스턴스가 실패했을 때 메시지가 공개됩니다.
batch/jobs/instance/purged 토픽 트리 노드입니다. 작업 인스턴스가 제거되었을 때 메시지가 공개됩니다.
   
batch/jobs/execution 작업 실행과 관련된 모든 이벤트의 토픽 트리입니다.
   
batch/jobs/execution/restarting 토픽 트리 노드입니다. 일괄처리 실행기가 실행을 다시 시작 중일 때 메시지가 공개됩니다.
batch/jobs/execution/starting 토픽 트리 노드입니다. 작업 실행이 시작 중일 때 메시지가 공개됩니다.
   
batch/jobs/execution/completed 토픽 트리 노드입니다. 작업 실행이 종료되었을 때 메시지가 공개됩니다.
batch/jobs/execution/failed 토픽 트리 노드입니다. 작업 실행이 실패로 인해 종료되었을 때 메시지가 공개됩니다.
batch/jobs/execution/stopped 토픽 트리 노드입니다. 작업 실행이 중지되었을 때 메시지가 공개됩니다.
batch/jobs/execution/jobLogPart 토픽 트리 노드입니다. 새 작업 로그 파트가 작성되고, 작업이 중지되거나 작업이 종료되면 메시지가 공개됩니다.
   
batch/jobs/execution/step/started 토픽 트리 노드입니다. 단계 실행이 시작되었을 때 메시지가 공개됩니다.
batch/jobs/execution/step/completed 토픽 트리 노드입니다. 단계 실행이 완료되었을 때 메시지가 공개됩니다.
batch/jobs/execution/step/failed 토픽 트리 노드입니다. 단계 실행이 실패했을 때 메시지가 공개됩니다.
batch/jobs/execution/step/stopped 토픽 트리 노드입니다. 단계 실행이 중지되었을 때 메시지가 공개됩니다.
batch/jobs/execution/step/checkpoint 토픽 트리 노드입니다. 체크포인트를 수행했을 때 메시지가 공개됩니다.
   
batch/jobs/execution/partition/started 토픽 트리 노드입니다. 파티션이 시작되었을 때 메시지가 공개됩니다.
batch/jobs/execution/partition/completed 토픽 트리 노드입니다. 파티션이 완료되었을 때 메시지가 공개됩니다.
batch/jobs/execution/partition/failed 토픽 트리 노드입니다. 파티션이 실패했을 때 메시지가 공개됩니다.
batch/jobs/execution/partition/stopped 토픽 트리 노드입니다. 파티션이 중지되었을 때 메시지가 공개됩니다.
   
batch/jobs/execution/split-flow/started 토픽 트리 노드입니다. 분할 플로우가 시작되었을 때 메시지가 공개됩니다.
batch/jobs/execution/split-flow/ended 토픽 트리 노드입니다. 분할 플로우가 완료되었을 때 메시지가 공개됩니다.
각 토픽에 대한 공개된 메시지는 JMS TextMessage입니다. 이 메시지의 컨텐츠는 토픽의 오브젝트를 나타내는 JSON 형식 문자열입니다(예: 작업 인스턴스, 작업 실행, 단계 실행 또는 파티션). 또한 이 메시지에는 다음 JMS 메시지 특정 세트가 포함됩니다.
  • com_ibm_ws_batch_internal_jobInstanceId: 사용 가능한 경우의 작업 인스턴스 ID입니다.
  • com_ibm_ws_batch_internal_jobExecutionId: 사용 가능한 경우의 작업 실행 ID입니다.
  • com_ibm_ws_batch_internal_stepExecutionId: 사용 가능한 경우의 작업 단계 실행 ID입니다.

작업 관련 이벤트를 공개할 수 있도록 일괄처리 서버를 구성해야 합니다. 일괄처리 디스패처 및 일괄처리 실행기에 동일한 구성이 있습니다. 다음 단계에서는 일괄처리 서버에 대한 작업 관련 이벤트를 공개할 수 있습니다.

프로시저

  1. server.xml 파일에서 기능 관리자에 적합한 JMS 기능을 추가하여 JMS 지원을 사용으로 설정하십시오. WebSphere® Application Server Liberty 기본 메시징 제공자를 사용하는 경우에는 wasJmsClient-2.0 기능 및 메시지 엔진의 관련 JMS 구성을 추가하십시오. WebSphere MQ 메시징 제공자를 사용하는 경우 wmqJmsClient-2.0 기능을 추가하십시오. z/OS에서 BINDINGS 모드로 WebSphere MQ 메시징 제공자를 사용하는 경우 zosTransaction-1.0 기능을 추가하십시오.
  2. server.xml 파일에 batchJmsEvents 요소를 추가하십시오.
    <batchJmsEvents connectionFactoryRef="batchConnectionFactory" />
    참고: connectionFactoryRef 속성을 지정하지 않으면 connectionFactoryRef의 기본값은 batchConnectionFactory입니다. 여전히 server.xml 파일에서 batchConnectionFactory JMS 연결 팩토리를 구성해야 합니다.
    [17.0.0.1 and later]
    1. 일괄처리 이벤트 주제 루트를 업데이트하려면 topicRoot 속성을 batchJmsEvents 요소에 추가하십시오.
      <batchJmsEvents connectionFactoryRef="batchConnectionFactory" topicRoot="NEW_ROOT" />

      topicRoot 속성 값이 기본 루트 batch를 대체하므로, batch/jobs/*NEW_ROOT/jobs/*가 됩니다.

  3. 서버 구성에 해당 JMS 연결 팩토리를 추가하십시오. 이는 일괄처리 구성에만 적용되는 것은 아닙니다.
    다음 예는 WebSphere MQ 메시징 제공자를 사용하여 일괄처리 이벤트 구성 및 해당 JMS 구성을 보여줍니다.
    <!-- wmq resource adapter -->
    <variable name="wmqJmsClient.rar.location" value="${server.config.dir}/wmq.wlp.rar"/>
    <!-- required for BINDINGS mode -->
    <wmqJmsClient nativeLibraryPath="/mqm/jms/java/lib"/>
    
    <batchJmsEvents connectionFactoryRef="batchConnectionFactory" />
    
    <jmsConnectionFactory id="batchConnectionFactory" jndiName="jms/batch/connectionFactory">
      <properties.wmqJms 
        transportType="BINDINGS"
        queueManager="WMQX" />
    </jmsConnectionFactory>
    다음 예제는 Liberty 기본 메시징 제공자를 사용한 일괄처리 이벤트 구성 및 해당 JMS 구성을 보여줍니다.
    <batchJmsEvents connectionFactoryRef="batchConnectionFactory" />
    <jmsConnectionFactory id="batchConnectionFactory" jndiName="jms/batch/connectionFactory">
      <properties.wasJms></properties.wasJms>
    </jmsConnectionFactory>

다음 예는 기본 실행 플로우에 대한 이벤트 시퀀스를 보여줍니다.
  • 체크포인트를 사용하는 단일 단계 작업을 제출하고 실행하십시오.
    batch/jobs/instance/submitted
    batch/jobs/instance/jms_queued
    batch/jobs/instance/jms_consumed
    batch/jobs/execution/starting
    batch/jobs/instance/dispatched
    batch/jobs/execution/started
    batch/jobs/execution/step/started
    batch/jobs/execution/step/checkpoint
    batch/jobs/execution/step/checkpoint
    ...
    batch/jobs/execution/step/checkpoint
    batch/jobs/execution/step/completed
    batch/jobs/execution/completed
    batch/jobs/instance/completed
  • 파티션을 사용하는 단일 단계 작업을 제출하고 실행하십시오.
    batch/jobs/instance/submitted
    batch/jobs/instance/jms_queued
    batch/jobs/instance/jms_consumed
    batch/jobs/execution/starting
    batch/jobs/instance/dispatched
    batch/jobs/execution/started
    batch/jobs/execution/step/started
    batch/jobs/execution/partition/started
    batch/jobs/execution/partition/started
    batch/jobs/execution/partition/started
    batch/jobs/execution/partition/completed
    batch/jobs/execution/partition/completed
    batch/jobs/execution/partition/completed
    batch/jobs/execution/step/completed
    batch/jobs/execution/completed
    batch/jobs/instance/completed

주제의 유형을 표시하는 아이콘 태스크 주제

파일 이름: twlp_batch_monitoring.html