이 주제는 다음 절을 포함합니다.
메시지를 JMS 목적지로 송신하려면 JMSOutput 노드를 사용하십시오. JMSOutput 노드는 JMS 메시지 제작자 역할을 하며 JMS(Java Message Service) 스펙, 버전 1.1에 정의된 6개의 메시지 유형 모두를 공개할 수 있습니다. 메시지는 JMS 스펙에 설명된 메소드 호출을 사용하여 공개됩니다.
JMSOutput 노드는 Workbench에서 다음 아이콘으로 표시됩니다.
연결에서 JMS 제공자까지 수신되는 메시지를 핸들링하는 메시지 플로우는 항상 JMSInput 노드에서 시작해야 합니다. 메시지 플로우에서 JMSOutput 노드를 포함하는 경우, JMSInput 노드를 포함시키지 않으면 MQJMSTransform 노드를 포함시켜서 JMSOutput 노드가 예상하는 형식으로 메시지를 변환해야 합니다.
JMS 메시지를 전달하고 서브플로우로 사용할 메시지 플로우를 작성하는 경우, 서브플로우에 대한 Out 터미널을 작성하기 위해 마지막 노드로서 JMSOutput 노드 인스턴스를 사용해야 합니다.
분산 시스템의 경우, JMS 제공자 클라이언트의 모든 고유 라이브러리와 java .jar 파일을 브로커 공유 클래스 디렉토리로 복사하십시오. 예를 들면, Windows의 경우, C:\Documents 및 Settings\All Users\Application Data\IBM\MQSI\shared-classes. 이로서 JMS 노드의 Java 클래스 경로가 올바르게 설정됩니다.
queue://QM_mn2/myJMSQueue4이 경우, 이 값은 WMQSeries JMS 제공업체에 대해 JMS 목적지를 JMS 제공업체별로 표시한 것입니다.
jndi:\\jmsQ4여기서 jmsQ4는 JNDI 관리 오브젝트의 이름입니다.
JNDI에서 관리된 오브젝트를 찾아보아야 하므로 이 방법을 사용하면 약간의 성능 오버헤드가 있습니다.
JMSOutput이 JMSReplyTo 등록 정보를 나가는 메시지에 동적으로 설정하는 것을 허용하는 것이 목적이라면 리플라이 투 목적지 속성을 비워 두고 Compute 노드 또는 JavaCompute 노드를 사용하는 MbMessage에 JMSReplyTo 값을 설정하십시오.
이 노드는 Publication 토픽 또는 목적지 큐에 제공된 JNDI 관리 오브젝트 이름을 확인하고 메시지를 해당 JMS 목적지로 송신합니다.
JMSOutput 노드 인스턴스를 메시지 플로우에 넣었으면 편집기 보기에서 노드를 마우스 오른쪽 단추로 누르고 등록 정보를 눌러 이 노드를 구성할 수 있습니다. 등록 정보 대화 상자에 노드의 기본 등록 정보가 표시됩니다.
정의된 디폴트 값이 없는 모든 필수 등록 정보는 등록 정보 대화 상자에서 별표(*)로 표시됩니다.
다음과 같이 JMSOutput 노드를 구성하십시오.
com.sun.jndi.fscontext.RefFSContextFactory. 이 값은 WebSphere MQ JMS 제공자의 파일 기반 초기 컨텍스트 팩토리를 정의합니다.
JMS 제공자의 초기 컨텍스트 팩토리 이름을 식별하려면 JMS 제공자 문서를 참조하십시오.
위치 JNDI 바인딩 값을 입력할 때 다음 지시사항을 준수하는지 확인하십시오.
JNDI 관리 오브젝트 바인딩 파일 구성에 대해서는 JMS 제공자와 함께 제공된 문서를 참조하십시오.
디폴트 값은 공백이며, 이 경우에는 JMS 출력 메시지를 데이터그램으로 간주할 수 있습니다. 필드가 공백이면 JMSOutput 노드는 수신하는 JMS 클라이언트에서 응답을 기대하지 않습니다.
JMS 제공자가 메시지를 보관하는 시간을 지정하려면 밀리세컨드 단위로 값을 입력하십시오. 디폴트 값 0은 메시지가 만기되지 않음을 표시합니다.
값을 입력하십시오. 메시지 우선순위의 올바른 값은 0(가장 낮음) - 9(가장 높음)입니다. 디폴트 값은 4이며 중간 우선순위를 표시합니다. 0 - 4 범위의 우선순위는 보통의 전달에 관련됩니다. 5 - 9 범위의 우선순위는 신속한 전달 등급에 관련됩니다.
자세한 정보는 메시지 유효성 검증 및 MRM 도메인에서 메시지의 유효성 검증 등록 정보를 참조하십시오.
대화 상자를 닫고 등록 정보에서 작성한 모든 변경을 제거하려면 취소를 누르십시오.
JMSOutput 노드의 in 터미널을 아웃바운드 메시지가 라우트되는 노드에 연결하십시오.
메시지에 대한 추가 처리나 오류 처리를 원하거나 메시지를 추가 목적지로 송신하려면 이 노드의 Out 터미널을 메시지 플로우의 다른 노드에 연결하십시오.
메시지 플로우에 JMSOutput 노드가 포함되어 있는 경우, 트랜잭션 모드에 대해 설정한 값이 메시지가 동기점 아래에 송신되는지 여부를 정의합니다.
JMS 제공자는 트랜잭션 지원을 위해 필요한 추가 jar 파일을 제공할 수 있습니다. JMS 제공자 문서를 참조하십시오. 예를 들면, 분배된 시스템에서 WebSphere MQ JMS 제공자는 브로커 공유 클래스 디렉토리에 추가되어야 하는 추가 jar 파일 com.ibm,mqetclient.jar을 제공합니다. 이 주제에서 JMS 노드가 JMS 제공자 클라이언트를 사용할 수 있도록 만들기를 참조하십시오.
install_dir/bin/ JMSSwitch.dll XAOpenString=Initial Context,location JNDI,Optional_parms ThreadOfControl=THREAD
XAResourceManager: Name=Jms_Provider_Name SwitchFile=/install_dir/bin/ JMSSwitch.so XAOpenString=Initial Context,location JNDI,Optional_parms ThreadOfControl=THREAD여기서
name은 JMS 제공자 자원 관리자를 식별하는 설치 시 정의된 이름입니다.
SwitchFile은 브로커의 bin 디렉토리에 제공되는 JMSSwitch 라이브러리의 파일 시스템 경로입니다.
선택 매개변수는 쉼표로 분리되며 위치가 지정되어 있습니다. 따라서 누락된 모든 매개변수는 쉼표로 표시해야 합니다.
<Broker Installation Path>/classes/xarecovery.jar
<Broker Installation Path>/bin
XA는 WebSphere MQ 버전 5.3, CSD12 및 WebSphere MQ 버전 6.0 픽스 팩 1 이전에는 브로커와 제공자 둘 다에 대해 동일한 큐 관리자를 사용할 수 없습니다.
JMS 제공자에 대한 동기점 제어는 브로커 큐 관리자의 RRS 동기점 통합으로 관리됩니다. .ini 파일을 수정할 필요는 없습니다.
다음 표에는 JMSOutput 노드 터미널이 설명되어 있습니다.
터미널 | 설명 |
---|---|
Failure | 오류가 발생할 경우 메시지가 라우트될 출력 터미널. 유효성 검증 등록 정보가 설정되어 있어도 이 터미널로 전달된 메시지는 유효성이 검증되지 않습니다. |
Out | WebSphere MQ 큐에서 검색이 완료되었을 경우 메시지가 라우트될 출력 터미널. |
Catch | 예외에서 다운스트림이 전달되어 이 노드에서 포착되었을 경우 메시지가 라우트될 출력 터미널. |
다음 표에는 노드 등록 정보가 설명되어 있습니다. 앞에 M이 표시된 열은 등록 정보가 필수임을 나타내며(디폴트가 정의되지 않았을 때 값을 입력해야 하는 경우 등록 정보 대화 상자에 별표(*)로 표시됨) 앞에 C가 표시된 열은 등록 정보가 구성 가능함을 나타냅니다(메시지 플로우를 Bar 파일에 추가하여 전개할 때 값을 변경할 수 있음).
다음 표에는 JMSOutput 노드의 기본 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
초기 컨텍스트 팩토리 | 예 | com.sun.jndi.fscontext.RefFSContextFactory | JNDI 네임스페이스의 시작 지점입니다. JMS 응용프로그램은
JMS 제공자에 대한 연결 팩토리 및 큐 또는 토픽 오브젝트를 확보하고 찾기 위해
초기 컨텍스트를 사용합니다. 디폴트 값은 WebSphere MQ Java가 JMS 제공자로 사용될 경우 사용되는 값입니다. |
|
위치 JNDI 바인딩 | 아니오 | 바인딩 파일에 대한 시스템 경로 또는 LDAP 위치. | ||
연결 팩토리 이름 | 아니오 | JMSOutput 노드가 JMS 제공자와의 연결을 작성하기 위해 사용하는 연결 팩토리의 이름. |
다음 표에는 JMSOutput 노드의 publish/subscribe 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
Publisher 토픽 | 아니오 | ? | 노드가 공개된 메시지를 수신하는 토픽의 이름. |
다음 표에는 JMSOutput 노드의 포인트 투 포인트 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
목적지 큐 | 아니오 | ? | 노드가 나가는 메시지를 공개하는 큐의 이름. |
다음 표에는 JMSOutput 노드의 요청 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
목적지 모드 | 아니오 | 목적지 이름 | 이 등록 정보는 메시지가 데이터그램의 요청으로 처리되는지 아니면 응답으로 처리되는지 여부를 판별하는 데 사용됩니다. | |
응답 목적지 | 아니오 | 이 값은 수신하는 응용프로그램이 응답 메시지를 송신해야 하는 JMS 목적지의 이름입니다. 응답 메시지가 이 JMS 목적지로 리턴되도록 하려면 수신 클라이언트가 사용하는 JMS 제공자의 도메인이 JMS 목적지 이름을 알아야 합니다. |
다음 표에는 JMSOutput 노드의 고급 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
새 상관 ID | 아니오 | 이 등록 정보는 새 상관 ID가 필요할 경우 선택됩니다. | ||
트랜잭션 모드 | 예 | 아니오 | 없음 | 이 등록 정보는 들어오는 메시지가 동기점 하에서 수신되는지 여부를 판별하는 데 사용됩니다. 올바른 값은 없음, 로컬 및 전역입니다. |
전달 모드 | 아니오 | 비지속 | 메시지 전달 모드에 따라 메시지를 필터할 메시지 선택자. | |
메시지 만기 | 아니오 | 0 | 이 등록 정보 값은 JMS 제공자가 지정된 시간 동안 출력 JMS 메시지를 보관하도록
요청하는 것입니다. 값은 밀리세컨드 단위이며 디폴트 값 0은 메시지가 만기되지 않음을 표시합니다. |
|
메시지 우선순위 | 아니오 | 4 | 이 등록 정보 값은 메시지에 상대적 중요도를 지정합니다. 이 값은 수신하는 JMS 클라이언트 응용프로그램이나 JMSOutput 노드에서 메시지 선택에 사용할 수 있습니다. |
다음 표에는 JMSOutput 노드의 유효성 검증 등록 정보가 설명되어 있습니다.
이 등록 정보에 대한 자세한 설명은 MRM 도메인에서 메시지의 유효성 검증 등록 정보를 참조하십시오.등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
유효성 검증 | 예 | 예 | 없음 | 이 등록 정보는 유효성 검증이 발생하는지의 여부를 판별합니다. 올바른 값은 없음, 컨텐츠 및 컨텐츠 및 값입니다. |
실패 조치 | 예 | 아니오 | 예외 | 이 등록 정보는 유효성 검증에 실패한 경우의 조치를 판별합니다. 유효성 검증을 컨텐츠 또는 컨텐츠 및 값으로 설정한 경우에만 이 등록 정보를 설정할 수 있습니다. 올바른 값은 사용자 추적, 로컬 오류 로그, 예외 및 예외 목록입니다. |
모든 값 제한조건 포함 | 예 | 아니오 | 선택 | 이 등록 정보는 편집할 수 없습니다. 선택될 선택란에 표시되는 디폴트 조치는 컨텐츠 및 값 유효성 검증 내에 기본 값 제한조건 점검이 포함되어 있는 것입니다. |
수정사항 | 예 | 아니오 | 없음 | 이 등록 정보는 편집할 수 없습니다. |
다음 표에는 JMSOutput 노드의 설명 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
간단한 설명 | 아니오 | 아니오 | ? | 노드에 대한 간략한 설명. |
자세한 설명 | 아니오 | 아니오 | ? | 메시지 플로우에서 노드의 목적을 설명하는 텍스트. |