집계 플로우에서 제어 메시지 사용

시작하기 전에

이 작업을 완료하려면 먼저 다음 작업을 완료해야 합니다.

다음 주제에서는 제어 메시지를 송신하는 데 필요한 조치를 설명합니다. WebSphere Message Broker에서, 디폴트 동작은 제어 메시지를 송신하기 위한 AggregateControl 및 AggregateReply 노드 사이의 연결이 무시됩니다. 이 구성은 성능을 최적화하며 AggregateReply 노드가 제어 메시지 이전에 응답 메시지를 수신할 가능성을 제거합니다. 집계사항이 올바르게 작동되도록 하기 위해 제어 메시지가 필요한 것은 아닙니다. 그러나 집계 플로우에서 제어 메시지를 계속 송신해야 할 경우에는 이 상황도 가능합니다. WebSphere Message Broker 버전 6.0에서 작성된 메시지 플로우에서 제어 메시지를 송신하려면 이 주제에서 제어 메시지를 송신하도록 메시지 플로우 구성제어 메시지를 송신하도록 브로커 환경 구성을 참조하십시오.

버전 5.0에서 메시지 플로우를 작성하고 이 메시지 플로우가 제어 메시지를 사용하도록 구성했으며 계속해서 제어 메시지를 사용하도록 하려면 이 주제에서 제어 메시지를 송신하도록 브로커 환경 구성을 참조하십시오. 제품의 이전 버전에서 작성된 AggregateControl 및 AggregateReply 노드 사이의 연결은 이 작업을 완료하지 않을 경우 버전 6.0에서 무시됩니다.

집계의 작동 예는(제어 메시지를 사용하지 않음) Airline Reservations 샘플을 참조하십시오.

제어 메시지를 송신하도록 메시지 플로우 구성

AggregateControl 노드에서 AggregateReply 노드로 제어 메시지를 송신하도록 메시지 플로우를 구성하려면 다음을 수행하십시오.
  1. 브로커 응용프로그램 개발 perspective로 전환하십시오.
  2. 단일 메시지 플로우에서 fan-out 및 fan-in 플로우가 작성될 경우
    1. 집계 메시지 플로우를 여십시오.
    2. AggregateControl 노드의 control 터미널을 AggregateReply 노드의 control 터미널에 연결하여 연관시키십시오.

    이를 두 집계 노드 사이의 직접 연결이라고 합니다.

  3. fan-out 및 fan-in 메시지 플로우를 별도로 작성할 경우
    1. fan-out 메시지 플로우를 여십시오.
    2. 집계 fan-out 플로우 작성에 설명된 대로 AggregateControl 노드를 구성하십시오.
    3. 이 단계에서는 제어 메시지가 포함된 올바른 출력 메시지를 작성하는 Compute 노드를 구성할 수 있습니다. 예를 들면, MQOutput 노드에 제어 메시지를 전달하려면 Compute 노드를 구성하여 MQMD를 메시지에 추가하고 해당 헤더에 필요한 필드를 완성하십시오. 예를 들면, 다음 ESQL을 코딩하십시오.
      변경 시작
      SET OutputRoot.MQMD.StrucId = MQMD_STRUC_ID;
      SET OutputRoot.MQMD.Version = MQMD_CURRENT_VERSION;
      SET OutputRoot.MQMD.Format = MQFMT_STRING;
      변경 끝
    4. 제어 메시지의 중간 목적지를 표시하는 출력 노드를 구성하십시오. 예를 들면, 제어 메시지를 중간 WebSphere MQ 큐로 송신하려면 MQOutput 노드를 포함시키고 기본 등록 정보인 큐 관리자 이름큐 이름에서 대상 큐를 식별하십시오.
    5. AggregateControl 노드의 control 터미널을 Compute 노드의 in 터미널에 연결하고, Compute 노드의 out 터미널을 제어 메시지의 중간 목적지를 표시하는 출력 노드의 in 터미널에 연결하십시오.
    6. fan-in 메시지 플로우를 여십시오.
    7. 응답 메시지를 수신하려면 집계 fan-in 플로우 작성에 설명된 대로 하나의 입력 노드를 구성하십시오. 이 입력 노드는 AggregateControl 노드의 제어 정보를 수신하기도 합니다. 예를 들면, MQInput 노드의 기본 등록 정보인 큐 이름을 중간 WebSphere MQ 큐로부터 응답 및 제어 메시지를 수신하도록 설정하십시오.
    8. fan-in 플로우에서 스레드 기아 현상 방지에 설명된 것처럼 입력 노드 다음, 그리고 AggregateReply 노드 이전에 fan-in 플로우에 Filter 노드를 추가하십시오.
    9. 입력 노드의 out 터미널을 Filter 노드의 in 터미널에 연결하십시오.
    10. Filter 노드의 out 터미널을 AggregateReply 노드의 control 터미널 및 in 터미널에 연결하십시오.

    이를 두 집계 노드 사이의 간접 연결이라고 합니다.

제어 메시지를 송신하도록 브로커 환경 구성

기본적으로, WebSphere Message Broker 버전 6.0에서는 AggregateRequest 노드의 control 터미널에서 AggregateReply 노드로의 연결이 무시됩니다. 이 연결이 활성화되도록 하려면 브로커 환경에서 MQSI_AGGR_COMPAT_MODE 환경 변수를 작성하십시오. 디폴트로 환경 변수는 존재하지 않습니다. 환경 변수가 존재한다는 것은 환경 변수의 설정값에 관계없이 AggregateControl로부터의 연결이 활성화됨을 의미합니다.

MQSI_AGGR_COMPAT_MODE 환경 변수를 작성하지 않은 경우에는 집계 fan-out 플로우의 디폴트 작동을 사용합니다. AggregateControl 노드의 Control 터미널이 직접 또는 간접적으로 AggregateReply 노드의 In 터미널에 연결될 경우, 이 연결은 무시되고 제어 메시지는 송신되지 않습니다.

MQSI_AGGR_COMPAT_MODE 환경 변수를 작성한 경우에는 집계 fan-out 플로우의 디폴트 작동이 사용되지 않고 AggregateControl 노드에서 AggregateReply 노드로 제어 메시지를 송신할 수 있습니다. 집계 fan-out 플로우 작성에 설명된 대로 AggregateControl 노드의 Control 터미널이 직접 또는 간접적으로 AggregateReply 노드의 In 터미널에 연결될 경우, 이 연결은 무시되고 제어 메시지가 송신됩니다. 이는 최적의 구성이 아니므로 성능이 감소될 수 있습니다.

AggregateControl 및 AggregateReply 노드 사이의 연결이 인식되도록 MQSI_AGGR_COMPAT_MODE 변수를 작성하려면 다음을 수행하십시오.
  • Windows에서:
    1. 시작 > 제어 패널 > 시스템을 선택하여 시스템 등록 정보를 여십시오.
    2. 고급 탭을 누르십시오.
    3. 환경 변수를 누르십시오.
    4. 시스템 변수 분할창에서 새로 작성을 누르십시오.
    5. 변수 이름에서 MQSI_AGGR_COMPAT_MODE를 입력하십시오. 원할 경우 사용자가 변수 값을 채울 수 있습니다. 그렇지 않으면 공백으로 두십시오.
    6. 환경 변수가 적용되도록 하려면 컴퓨터를 재시작하십시오.
  • Linux, UNIXz/OS:
    1. 브로커 사용자 ID 프로파일을 편집하고 export MQSI_AGGR_COMPAT_MODE=를 포함시키십시오.
    2. 프로파일을 다시 로드하십시오.
    3. 브로커를 재시작하십시오.
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
ac12312_