MQGet 노드가 IBM MQ 의 MQGet API 호출을 구현하는 방식

로컬 환경 트리의 컨텐츠와 사용자가 설정한 입력 매개변수 모두를 기반으로 MQGet 노드가 입력 메시지를 처리하여 출력 메시지를 구성하는 방법을 검토하십시오.

요청-응답 시나리오를 구현하는 플로우를 포함하여 메시지 플로우의 어디에나 MQGet 노드를 포함할 수 있습니다. MQGet 노드는 메시지 흐름에서 앞선 노드로부터 입력 단자를 통해 입력 메시지를 수신하고, 속성에서 구성한 IBM® MQ 큐에서 메시지를 가져오기 위해 MQGET 호출을 수행한 다음, 결과 메시지 트리를 생성합니다. 마지막으로 입력 트리와 결과 트리를 사용하여 출력 트리를 작성하면 노드 구성 및 MQGET 조작의 결과에 따라 이 출력 트리가 그 Output, Warning 또는 Failure 터미널로 전파됩니다.

MQGet 노드가 로컬 환경을 처리하는 방법

MQGet 노드는 선행 노드에서 전파되는 로컬 환경 트리를 검사하고 MQGMO (MQ 메시지 가져오기 옵션) 및 MQMD (MQ 메시지 디스크립터 헤더) 와 관련된 컨텐츠를 사용하며 로컬 환경을 업데이트합니다.

  • 이 노드는 ${inputMQParmsLocation}.MQGMO.*에서 MQGMO 구조를 읽습니다.
  • 노드는 IBM MQ 의 완료 및 사유 코드를 와 ${outputMQParmsLocation}.CC${outputMQParmsLocation}.RC복사합니다.
  • 노드는 ${inputMQParmsLocation}.MQGMO 가 입력 트리에 있는 경우 MQGET 호출에 사용되는 전체 MQGMO를 ${outputMQParmsLocation}.MQGMO 에 씁니다.
  • 이 노드는 MQGET 호출(입력 메시지에서 지정되는 값을 포함하거나 노드에 의해 생성됨)에 전달되는 MQMD를 ${inputMQParmsLocation}.MQMD에 쓰고 기존 컨텐츠를 삭제합니다.

요청 특성 탭의 MQGet 노드 특성 입력 MQ 매개변수 위치 에서 값을 ${inputMQParmsLocation} 로 설정하십시오.

결과 특성 탭의 MQGet 노드 특성 출력 MQ 매개변수 위치 에서 값을 ${outputMQParmsLocation} 로 설정하십시오.

이러한 특성에 대한 자세한 정보는 MQGet 노드를 참조하십시오.

요약:
${inputMQParmsLocation}
  • 대기열 이름: 선택적 재정의 MQGet 마디 대기열 이름 재산
  • 초기버퍼크기: 선택적 재정의 MQGet 마디 초기 버퍼 크기 재산
  • MQGMO.*: MQGet 노드에서 사용되는 선택적 MQGET 메시지 옵션
${outputMQParmsLocation}
  • CC: MQGET 호출 완료 코드
  • RC: MQGET 호출 결과 코드
  • MQGMO.*: ${inputMQParmsLocation} 에 있는 경우 사용되는 MQGET 메시지 옵션
  • MQMD: 수신된 메시지 1에 대한 구문 분석되지 않은 MQ 메시지 디스크립터
  • Browsed: 메시지를 찾아본 경우 true로 설정됩니다. 메시지가 큐에서 제거된 경우 표시되지 않습니다.
MQMD를 구문 분석할 수 있습니다(예: ESQL을 사용하여). 여기서 ${outputMQParmsLocation}은 LocalEnvironment.MQ.GET입니다.
DECLARE ptr REFERENCE TO OutputLocalEnvironment.MyMQParms;
CREATE FIRSTCHILD OF ptr DOMAIN('MQMD') PARSE(InputLocalEnvironment.MQ.GET.MQMD)

MQGET 호출에 대한 MQMD를 구성하는 방법

  • 기본 MQMD가 준비됩니다. MQMD에 대한 자세한 내용은 IBM MQ 제품 설명서의 ‘애플리케이션 프로그래밍 참조(Application Programming Reference)’ 섹션을 참조하십시오.
  • 입력 MQMD를 제공하지 않으면 기본 MQMD가 사용됩니다.
  • 입력 MQMD를 제공하지 않으면 다음과 같이 수정한 후에 기본 MQMD가 사용됩니다.
    • 모든 입력 MQMD 필드 사용 특성이 설정되는 경우 제공된 모든 MQMD 필드는 입력 MQMD에서 기본 MQMD로 복사됩니다.
    • 모든 입력 MQMD 필드 사용 특성이 설정되지 않고 메시지 ID별로 가져오기 or 상관 ID별로 가져오기 특성이 선택되는 경우 각 ID가 입력 MQMD에서 기본 MQMD로 복사됩니다.

다음 다이어그램은 MQGet 노드가 ` IBM MQ ` 호출에 사용되는 MQMD를 어떻게 구성하는지 보여줍니다:

다이어그램은 위의 텍스트에 설명되어 있습니다.

출력 메시지 트리 구성 방법

다음 다이어그램은 MQGet 노드가 MQGET 호출의 결과 트리와 이전 노드의 입력 트리를 결합하여 출력 메시지 트리를 구성하는 방법을 개략적으로 설명합니다.

다이어그램은 위의 텍스트에 설명되어 있습니다.

이 예에서 MQGet 노드 특성은 다음 표에 표시된 대로 구성됩니다.
특성 조치
메시지 복사 전체 메시지 복사
생성 모드 메시지
출력 데이터 위치 OutputRoot.XMLNS.A
결과 데이터 위치 ResultRoot.XMLNS.C
MQGet 노드는 다음 순서에 따라 출력 트리를 구성합니다.
  1. 하위 A 및 A의 하위 B가 포함된 XML 분기를 포함하여 전체 입력 트리가 출력 트리에 복사됩니다.
  2. 결과 트리에서 XML 분기의 하위 C 및 C의 하위 D는 출력 트리의 OutputRoot.XMLNS.A 위치에 배치됩니다. A의 이전 컨텐츠(값 및 하위)는 유실되고 모든 값 및 하위(이 경우 하위 D)를 포함한 C의 컨텐츠로 대체됩니다.
  3. 출력 트리 항목의 위치는 이름 A를 유지합니다.

다음 다이어그램은 이 작동을 보여줍니다.

다이어그램은 위의 텍스트에 설명되어 있습니다.

위에 설명된 규칙에 따라 MQGet 노드가 구성하는 메시지 트리의 일부 예는 MQGet 노드 메시지 트리 예를 참조하십시오.