통합된 메시지 플로우에 대한 노드 구성

메시지 플로우 처리를 다른 자원과 통합하려면 메시지 플로우 내의 노드 및 메시지 플로우 자체의 등록 정보를 구성해야 합니다.

시작하기 전에

입력 노드가 메시지를 수신할 때 시작되는 단일 트랜잭션 내에서 통합된 메시지 플로우가 실행되며, 모든 처리가 완료되면 확약되거나 롤백될 수 있습니다. 또한 데이터베이스와 상호 작용하는 노드가 데이터베이스 오류를 핸들링하는 방법을 제어할 수 있습니다.

메시지 플로우 및 노드를 구성하려면 다음을 수행하십시오.

  1. 브로커 응용프로그램 개발 perspective로 전환하십시오.
  2. 작업할 메시지 플로우를 열거나 새 메시지 플로우를 작성하십시오.
  3. 다음 노드가 이 메시지 플로우에 나타날 경우, 이 노드의 트랜잭션 등록 정보를 설정하십시오.
    • Compute
    • Database
    • DataDelete
    • DataInsert
    • DataUpdate
    • Filter
    • Mapping
    • Warehouse

    트랜잭션 등록 정보를 다음 값으로 설정할 수 있습니다.

    자동
    노드에서 수행하는 갱신, 삭제 및 추가는 메시지 플로우 처리가 완료될 때 확약되거나 롤백됩니다. 메시지 플로우가 완료되면 모든 변경사항이 확약됩니다. 메시지 플로우가 제대로 완료되지 않으면 모든 변경사항은 롤백됩니다.

    메시지 플로우에 의해 수행되는 모든 처리가 통합되게 하려면 이 값을 선택해야 합니다.

    확약
    수행되는 조치는 메시지 플로우가 전개된 시스템에 따라 다릅니다.
    • 분산 시스템의 경우 메시지 플로우의 후속 성공 또는 실패에 상관 없이 이 노드에 취해진 모든 조치를 포함하여 현재까지 이 메시지 플로우의 데이터 소스에 수행된 모든 작업이 확약됩니다.
      주: z/OS가 아닌 다른 플랫폼에서 개별 관계형 데이터베이스는 이 조작 모드를 지원할 수도, 지원하지 않을 수도 있습니다.
    • z/OS에서는 후속 메시지 플로우의 성공 또는 실패에 상관 없이 이 노드에 한하여 취해진 조치만 확약됨을 의미합니다. 자동 트랜잭션성하에서는 이 노드 이전에 취해진 모든 조치는 확약되지 않지만 작업 단위 내에 유지되고, 메시지 플로우의 성공 또는 실패에 따라 확약되거나 롤백됩니다.
    동일 외부 데이터베이스에서 노드가 작동하는 동일 메시지 플로우에서 자동확약 트랜잭션성을 사용하는 노드를 혼합하려면 개별 ODBC 연결(메시지 플로우가 완료될 때까지 확약되지 않는 노드에 대한 ODBC 연결과 즉시 확약되는 노드에 대한 ODBC 연결)을 사용해야 합니다. 그렇지 않을 경우, 즉시 확약되는 노드 역시 선행 자동 노드에서 수행되는 모든 조작이 확약되게 합니다.
    주: z/OS가 아닌 다른 플랫폼에서 개별 관계형 데이터베이스는 이 조작 모드를 지원할 수도, 지원하지 않을 수도 있습니다.

    둘 이상의 ODBC 연결을 정의하면 데이터베이스 잠금 문제가 발생할 수 있습니다. 특히, 자동 트랜잭션성을 사용하는 노드가 데이터베이스 오브젝트(예: 테이블)가 잠기게 하는 INSERT 또는 UPDATE 등의 조작을 수행하고 후속 노드에서 다른 ODBC 연결을 사용하여 데이터베이스 오브젝트에 액세스하려고 하는 경우 영구 잠금(교착 상태)이 발생합니다.

    두 번째 노드는 첫 번째 노드에서 발생한 잠금이 해제될 때까지 대기하지만 첫 번째 노드는 해당 조작을 확약하지 않으며 메시지 플로우가 완료되면 잠금을 해제합니다. 그러나 두 번째 노드는 첫 번째 노드의 데이터베이스 잠금이 해제될 때까지 두 번째 노드가 대기하기 때문에 잠금이 해제되는 상황은 발생하지 않습니다.

    브로커를 사용하는 두 조작이 서로 충돌하기 때문에 DBMS 자동 교착 상태 회피 루틴에서 그러한 상황을 감지할 수 없습니다.

    이런 종류의 잠금 문제를 피할 수 있는 두 가지 방법이 있습니다.

    • 미확약(자동) 조작이 다른 ODBC 연결을 사용하는 후속 조작이 액세스해야 하는 데이터베이스 오브젝트를 잠그지 않도록 메시지 플로우를 설계하십시오.
    • 지정된 시간 길이 이후 잠금을 획득한 시도가 실패하도록 데이터베이스의 잠금 시간 종료 매개변수를 구성하십시오. 잠금 시간 종료로 인해 데이터베이스 조작이 실패하면 정상적인 방법으로 브로커가 핸들링하는 예외가 발생됩니다.

    특정 조작에 의해 잠겨지는 데이터베이스 오브젝트 및 데이터베이스의 잠금 시간 종료 매개변수 구성 방법에 관한 정보는 데이터베이스 제품 문서를 참조하십시오.

  4. 메시지 플로우에 다음 노드가 나타나 있는 경우 이 노드에 대한 트랜잭션 모드 등록 정보를 설정하십시오.
    • MQInput
    • MQOutput
    • MQReply
    • SCADAInput
    • JMSInput 노드
    • JMSOutput 노드

    아래 표에서는 입력 및 출력 노드의 특정 등록 정보 설정에 대한 응답으로 취하는 조치에 대한 요약을 제공합니다.

    메시지 지속성 a 입력 노드 트랜잭션 모드 MQOutput 또는 MQReply 노드 트랜잭션 모드 전역으로 통합된 메시지 플로우
    자동
    아니오 자동
    아니오 자동 아니오
    아니오 아니오 자동 아니오
    자동 자동
    아니오 자동 자동 아니오
    임의 b 임의 b
    임의 b 임의 b 아니오 아니오
    주:
    1. 지속성은 WebSphere MQ Enterprise Transport, WebSphere MQ Mobile TransportWebSphere MQ Telemetry Transport 프로토콜을 통해 수신되는 메시지에만 해당됩니다.
    2. MQOutput 또는 MQReply 노드 등록 정보 설정이 여기에 설정된 값을 대체합니다.
    3. JMSInput 및 JMSOutput 노드의 트랜잭션 모드 설정은 위의 표와 다르게 설정됩니다. 자세한 정보는 JMSInput 노드JMSOutput 노드를 참조하십시오.

    각 입력 노드에 대한 디폴트는 예(Yes)이며, 이는 수신되는 메시지가 동기점 아래에서 처리됨을 의미합니다. 또한 메시지는 동기점 아래에서 전달되는 출력 노드로 송신됩니다. 출력 노드가 트랜잭션 모드 등록 정보를 갖고 있는 MQOutput 또는 MQReply 노드인 경우에만 이 작동을 변경할 수 있습니다.

    입력 노드에서 트랜잭션 모드자동으로 설정한 경우, 수신되는 메시지가 지속으로 정의된 경우에만 동기점 아래에서 처리됩니다. MQOutput 노드로 송신된 메시지는 MQOutput 노드에서 명확하게 트랜잭션 모드를 변경하지 않았으면 동기점 아래에서 전달됩니다.

  5. 데이터베이스에 액세스하는 각 노드에서 경고를 오류로 처리데이터베이스 오류에 예외 전달을 설정하여 해당 노드가 데이터베이스 경고 및 오류를 핸들링하는 방법을 나타내십시오. 이러한 등록 정보의 선택 여부 및 노드의 실패 터미널 연결 방법은 데이터베이스 갱신을 확약하거나 롤백하는 방식에 영향을 줍니다.
  6. 브로커 관리 perspective로 전환하십시오.
  7. 브로커 아카이브에 메시지 플로우를 추가하십시오.
  8. 브로커 아카이브 편집기 보기 아래에서 구성 탭을 선택하고 메시지 플로우를 선택하십시오. 그러면 브로커 아카이브 내에서 메시지 플로우에 대한 구성 가능 등록 정보가 표시됩니다. 전역으로 통합된 메시지 플로우를 구성하려면 통합 트랜잭션 선택란을 선택하십시오.

    z/OS에서 트랜잭션은 전체적으로 통합됩니다. 메시지 플로우에 대한 통합 트랜잭션 등록 정보 설정은 무시됩니다. 통합은 항상 RRS에서 제공됩니다.

관련 개념
메시지 플로우 개요
메시지 플로우 트랜잭션
관련 태스크
메시지 플로우에서 데이터베이스에 액세스
통합 메시지 플로우 구성
메시지 플로우 내의 오류 핸들링
구성 가능 등록 정보 편집
관련 참조
지원되는 데이터베이스
내장 노드
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
ac00393_