이 주제는 다음 절을 포함합니다.
JMS 목적지에서 메시지를 수신하려면 JMSInput 노드를 사용하십시오. JMS 목적지에는 JMS 제공자와의 연결을 통해 액세스합니다. JMSInput 노드는 JMS 메시지 이용자 역할을 하며 JMS(Java Message Service) 스펙, 버전 1.1에 정의된 6개의 메시지 유형 모두를 수신할 수 있습니다. 메시지는 JMS 스펙에 설명된 메소드 호출을 사용하여 수신합니다.
JMSInput 노드는 Workbench에서 다음 아이콘으로 표시됩니다.
JMSInput 노드는 JMS 메시지 트리와 함께 메시지를 수신하고 전달합니다. JMS 메시지 수신 방법을 제어하는 JMSInput 노드의 등록 정보를 설정할 수 있습니다.
JMSInput 노드는 다음 메시지 도메인에 있는 메시지를 핸들링합니다.
연결에서 JMS 제공자까지 수신되는 메시지를 핸들링하는 메시지 플로우는 항상 JMSInput 노드에서 시작해야 합니다. JMSInput 노드로 시작하는 메시지 플로우에 출력 노드를 포함시킬 경우, (사용자 정의 출력 노드를 비롯하여) 지원되는 모든 출력 노드를 사용할 수 있습니다. JMSOutput 노드는 포함할 필요가 없습니다. 그러나 JMSOutput 노드를 포함시키지 않으면 JMSMQTransform 노드를 포함시켜서 출력 노드가 예상하는 형식으로 메시지를 변환해야 합니다.
JMS 메시지를 전달하고 서브플로우로 사용할 메시지 플로우를 작성하는 경우, 표준 입력 노드를 사용할 수 없기 때문에 서브플로우에 대한 In 터미널을 작성하기 위해 첫 번째 노드로서 JMSInput 노드 인스턴스를 사용해야 합니다.
분산 플랫폼의 경우, JMS 제공자 클라이언트의 모든 고유 라이브러리와 java .jar 파일을 브로커 공유 클래스 디렉토리로 복사하십시오. 예를 들면, Windows의 경우 C:\Documents and Settings\All Users\Application Data\IBM\MQSI\shared-classes. 이로서 JMS 노드의 Java 클래스 경로가 올바르게 설정됩니다.
z/OS의 경우에는 공유 클래스 디렉토리가 없습니다. 대신 브로커 PDS(Partitioned Data Set)에 있는 BIPPROF 구성원의 클래스 경로에 각 JMS 제공자 java .jar 파일을 지정해야 합니다. 그런 다음 LIBPATH를 모든 고유 라이브러리로 갱신하고 BIPGEN JCL 작업을 브로커 ENVFILE로 전송하십시오.
JMSInput 노드 인스턴스를 메시지 플로우에 넣으면 이 노드를 구성할 수 있습니다. 편집기 보기에서 이 노드를 마우스 오른쪽 단추로 누른 후 등록 정보를 누르십시오. 등록 정보 대화 상자에 노드의 기본 등록 정보가 표시됩니다.
정의된 디폴트 값이 없는 모든 필수 등록 정보는 등록 정보 대화 상자에서 별표(*)로 표시됩니다.
다음과 같이 JMSInput 노드를 구성하십시오.
com.sun.jndi.fscontext.RefFSContextFactory. 이 값은 WebSphere MQ JMS 제공자의 파일 기반 초기 컨텍스트 팩토리를 정의합니다.
JMS 제공자의 초기 컨텍스트 팩토리 이름을 식별하려면 JMS 제공자 문서를 참조하십시오.
위치 JNDI 바인딩 값을 입력할 때 다음 지시사항을 준수하는지 확인하십시오.
JNDI 관리 오브젝트 바인딩 파일 구성에 대한 정보는 JMS 제공자와 함께 제공된 문서를 참조하십시오.
XML, XMLNS, XMLNSC, JMS, MIME 및 BLOB 구문 분석기에 대해서는 메시지 세트를 공백으로 남겨 두십시오.
XML, XMLNS, XMLNSC, JMS, MIME, BLOB 및 IDOC 구문 분석기에 대해서는 메시지 유형을 공백으로 남겨 두십시오.
XML, XMLNS, XMLNSC, JMSMap, JMSStream, MIME 및 BLOB 구문 분석기에 대해서는 메시지 형식을 공백으로 남겨 두십시오.
입력 노드가 응용프로그램 등록 정보를 기초로 선택하지 않도록 하려면 이 등록 정보를 공백으로 남겨 두십시오. 메시지 선택자를 구성하는 방법에 대한 설명은 JMS 메시지 선택자를 참조하십시오.
입력 노드가 JMSTimeStamp를 기초로 선택하지 않도록 하려면 이 등록 정보를 공백으로 남겨 두십시오.
메시지 우선순위의 올바른 값은 0(가장 낮음) - 9(가장 높음)입니다. 예를 들면, 5를 입력하여 우선순위가 5인 메시지를 수신할 수 있습니다. 또한 선택자를 규정할 수도 있습니다. 예를 들면, 우선순위가 4보다 큰 우선순위 메시지를 수신하려면 > 4를, 또는 우선순위 범위 4와 8사이의 우선순위 메시지를 수신하려면 BETWEEN 4 AND 8을 입력하십시오.
입력 노드가 JMSPriority를 기초로 선택하지 않도록 하려면 이 등록 정보를 공백으로 남겨 두십시오.
특정 메시지 ID를 입력하거나 조건부 선택자를 입력하십시오. 예를 들면, 메시지 ID가 >WMBRK123456보다 큰 메시지를 리턴하려면 WMBRK123456을 입력하십시오.
입력 노드가 JMSMessageID를 기초로 선택하지 않도록 하려면 이 등록 정보를 공백으로 남겨 두십시오.
JMS 제공자가 다시 전달하지 않은 메시지만 입력 노드가 승인할 경우 FALSE를 입력하십시오.
JMS 제공자가 다시 전달한 메시지만 입력 노드가 승인할 경우 TRUE를 입력하십시오.
입력 노드가 JMSRedelivered를 기초로 선택하지 않도록 하려면 이 등록 정보를 공백으로 남겨 두십시오.
특정 상관 ID를 입력하거나 조건부 문자열을 입력하십시오. 예를 들면, WMBRKABCDEFG는 상관 ID가 이 값과 일치하는 메시지를 리턴합니다.
입력 노드가 JMSCorrelationID를 기초로 선택하지 않도록 하려면 이 등록 정보를 공백으로 남겨 두십시오.
자세한 정보는 메시지 유효성 검증 및 MRM 도메인에서 메시지의 유효성 검증 등록 정보를 참조하십시오.
이 값을 즉시로 변경할 경우, 즉시 해석할 수 없는 메시지 또는 선택 작성의 복합 유형을 제외하고 부분 구문 분석이 대체되어 메시지의 모든 것이 구문 분석되고 유효성 검증됩니다.
이를 완료로 변경할 경우, 부분 구문 분석이 대체되어 메시지의 모든 것이 구문 분석되고 유효성 검증됩니다. 당시에 해석할 수 없는 메시지 또는 선택 작성의 복합 유형이 있으면 유효성 검증에 실패합니다.
XMLNS 도메인에 대해 XMLNSC 압축 구문 분석기 사용하려면 선택란을 선택하십시오.
혼합 컨텐츠 보유 모드, 주석 보유 모드 및 처리 지시사항 보유 모드의 경우 드롭다운 상자에서 다음 선택사항을 제공합니다.
대화 상자를 닫고 등록 정보에서 작성한 모든 변경을 제거하려면 취소를 누르십시오.
수신되는 메시지마다 JMSInput 노드는 메시지를 Out 터미널로 라우트합니다. 검색에 실패하면 메시지를 재시도합니다. 재시도 임계값(노드의 BackoutThreshold 속성에 정의됨)에 도달하면 메시지가 failure 터미널로 라우트됩니다.
failure 터미널에 노드를 연결하여 이 조건을 핸들링할 수 있습니다. failure 터미널에 노드가 연결되어 있지 않으면 백아웃 목적지에 메시지가 기록됩니다. 백아웃 목적지를 제공하지 않았으면 오류 메시지가 발행되고 노드는 추가 입력 처리를 정지합니다. 오류 메시지는 bip4669입니다.
메시지 플로우에서 예외가 전달된 후 JMSInput 노드에서 메시지를 포착하면, 메시지는 catch 터미널로 라우트됩니다. catch 터미널에 노드가 연결되어 있지 않으면, 노드는 문제점이 해결되거나 백아웃 임계값에 도달할 때까지 다시 전달하기 위해 메시지를 백아웃합니다.
백아웃 목적지를 정의해야 합니다. 백아웃 목적지를 정의하지 않으면, 노드에서 bip4669 오류 메시지가 발생되고 추가 입력 처리가 정지됩니다.
메시지 플로우에 JMSInput 노드가 포함되어 있는 경우, 트랜잭션 모드에 대해 설정한 값이 메시지가 동기점 아래에 수신되는지 여부를 정의합니다.
JMS 제공자는 트랜잭션 지원을 위해 필요한 추가 jar 파일을 제공할 수 있습니다. JMS 제공자 문서를 참조하십시오. 예를 들면, 분배된(z/OS 이외) 플랫폼에서 WebSphere MQ JMS 제공자는 추가 jar 파일 com.ibm,mqetclient.jar을 제공합니다. 이 jar도 브로커 shared_classes 디렉토리에 추가해야 합니다. 이 주제에서 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여기서:
이름은 JMS 제공자 자원 관리자를 식별하는 설치 시 정의된 이름입니다.
SwitchFile은 브로커의 bin 디렉토리에 제공되는 JMSSwitch 라이브러리의 파일 시스템 경로입니다.
선택 매개변수는 쉼표로 분리되며 위치가 지정되어 있습니다. 따라서 누락된 모든 매개변수는 쉼표로 표시해야 합니다.
install_dir/classes/xarecovery.jar
install_dir/bin
XA는 WebSphere MQ 버전 5.3, CSD12 및 WebSphere MQ 버전 6 픽스 팩 1 이전에는 브로커와 제공자 둘 다에 대해 동일한 큐 관리자를 사용할 수 없습니다.
JMS 제공자에 대한 동기점 제어는 브로커 큐 관리자의 RRS 동기점 통합으로 관리됩니다. .ini 파일을 수정할 필요는 없습니다.
다음 표에는 JMSInput 노드 터미널이 설명되어 있습니다.
터미널 | 설명 |
---|---|
Failure | 오류가 발생할 경우 메시지가 라우트될 출력 터미널. 유효성 검증 등록 정보가 설정되어 있어도 이 터미널로 전달된 메시지는 유효성이 검증되지 않습니다. |
Out | WebSphere MQ 큐에서 검색이 완료되었을 경우 메시지가 라우트될 출력 터미널. |
Catch | 예외에서 다운스트림이 전달되어 이 노드에서 포착되었을 경우 메시지가 라우트될 출력 터미널. |
다음 표에는 노드 등록 정보가 설명되어 있습니다. 앞에 M이 표시된 열은 등록 정보가 필수임을 나타내며(디폴트가 정의되지 않았을 때 값을 입력해야 하는 경우 등록 정보 대화 상자에 별표(*)로 표시됨) 앞에 C가 표시된 열은 등록 정보가 구성 가능함을 나타냅니다(메시지 플로우를 Bar 파일에 추가하여 전개할 때 값을 변경할 수 있음).
다음 표에는 JMSInput 노드의 기본 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
초기 컨텍스트 팩토리 | 예 | com.sun.jndi.fscontext.RefFSContextFactory | JNDI 네임스페이스의 시작 지점입니다. JMS 응용프로그램은
JMS 제공자에 대한 연결 팩토리 및 큐 또는 토픽 오브젝트를 확보하고 찾기 위해
초기 컨텍스트를 사용합니다. 디폴트 값은 WebSphere MQ Java가 JMS 제공자로 사용될 경우 사용되는 값입니다. |
|
위치 JNDI 바인딩 | 예 | 바인딩 파일에 대한 시스템 경로 또는 LDAP 위치. | ||
연결 팩토리 이름 | 예 | JMSInput 노드가 JMS 제공자와의 연결을 작성하기 위해 사용하는 연결 팩토리의 이름. | ||
백아웃 목적지 | 아니오 | 메시지의 오류로 인해 메시지 플로우에서 메시지를 처리할 수 없을 때 JMSInput 노드에서 사용되는 목적지. | ||
백아웃 임계값 | 아니오 | 0 | 다시 전달된 입력 메시지를 백아웃 목적지에 넣는 시점을 제어하는 값. |
다음 표에는 JMSInput 노드의 디폴트 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
메시지 도메인 | 아니오 | 아니오 | 들어오는 메시지를 구문 분석하는 데 사용하는 도메인 | |
메시지 세트 | 아니오 | 아니오 | 들어오는 메시지를 정의하는 메시지 세트의 이름 또는 ID | |
메시지 유형 | 아니오 | 아니오 | 들어오는 메시지의 이름 | |
메시지 형식 | 아니오 | 아니오 | 들어오는 메시지의 물리적 형식 이름 |
다음 표에는 JMSInput 노드의 Pub/Sub 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
Subscription 토픽 | 아니오 | 아니오 | 노드가 subscribe되는 토픽의 이름. | |
지속 가능 Subscription ID | 아니오 | 아니오 | 지속 가능 subscription 토픽의 ID. |
다음 표에는 JMSInput 노드의 포인트 투 포인트 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
소스 큐 | 노드가 들어오는 메시지를 수신하는 큐의 이름. |
다음 표에는 JMSInput 노드의 메시지 선택자 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
응용프로그램 등록 정보 | 아니오 | 응용프로그램 등록 정보 값에 따라 메시지를 필터할 메시지 선택자. | ||
시간 소인 | 아니오 | JMSTimestamp에 따라 필터할 메시지 선택자. | ||
전달 모드 | 아니오 | 메시지 전달 모드에 따라 메시지를 필터할 메시지 선택자. | ||
우선순위 | 아니오 | 메시지 우선순위에 따라 메시지를 필터할 메시지 선택자. | ||
메시지 ID | 아니오 | 메시지 ID에 따라 메시지를 필터할 메시지 선택자. | ||
상관 ID | 아니오 | 상관 ID에 따라 메시지를 필터할 메시지 선택자. |
다음 표에는 JMSInput 노드의 고급 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
트랜잭션 모드 | 예 | 아니오 | 없음 | 이 등록 정보는 들어오는 메시지가 외부 동기점이나 로컬 동기점 하에 수신되는지, 아니면 동기점 외부에서 수신되는지 여부를 판별하는 데 사용됩니다. 올바른 값은 없음, 로컬 및 전역입니다. |
다음 표에는 JMSInput 노드의 유효성 검증 등록 정보가 설명되어 있습니다.
이 등록 정보에 대한 자세한 설명은 MRM 도메인에서 메시지의 유효성 검증 등록 정보를 참조하십시오.등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
유효성 검증 | 예 | 예 | 없음 | 이 등록 정보는 유효성 검증이 발생하는지의 여부를 판별합니다. 올바른 값은 없음, 컨텐츠 및 컨텐츠 및 값입니다. |
실패 조치 | 예 | 아니오 | 예외 | 이 등록 정보는 유효성 검증에 실패한 경우의 조치를 판별합니다. 유효성 검증을 컨텐츠 또는 컨텐츠 및 값으로 설정한 경우에만 이 등록 정보를 설정할 수 있습니다. 올바른 값은 사용자 추적, 로컬 오류 로그, 예외 및 예외 목록입니다. |
모든 값 제한조건 포함 | 예 | 아니오 | 선택 | 이 등록 정보는 편집할 수 없습니다. 선택될 선택란에 표시되는 디폴트 조치는 컨텐츠 및 값 유효성 검증 내에 기본 값 제한조건 점검이 포함되어 있는 것입니다. |
수정사항 | 예 | 아니오 | 없음 | 이 등록 정보는 편집할 수 없습니다. |
다음 표에는 JMSInput 노드의 일반 메시지 옵션 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
구문 분석 타이밍 | 예 | 아니오 | 요청시 | 이 등록 정보는 입력 메시지를 구문 분석하는 시기를 제어합니다.
올바른 값은 요청시,
즉시 및
완료입니다. 이 등록 정보에 대한 자세한 설명은 요청시 구문 분석을 참조하십시오. |
다음 표에는 JMSInput 노드의 XMLNSC 구문 분석기 옵션 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
XMLNS 도메인에 XMLNSC 압축 구문 분석기 사용 | 예 | 지우기 | 아니오 | ![]() ![]() |
혼합 컨텐츠 보유 모드 | 예 | 아니오 | 없음 | 이 등록 정보는 XMLNSC 구문 분석기가 입력 메시지에서 혼합 텍스트를 발견할 경우 메시지 트리에서 요소를 작성하는지 여부를 제어합니다. 올바른 값은 없음 및 모두입니다. 모두를 선택하면 혼합 텍스트에 대해 요소가 작성됨을 의미합니다. 없음을 선택하면 혼합 텍스트가 무시되고 요소가 작성되지 않음을 의미합니다. |
주석 보유 모드 | 예 | 아니오 | 없음 | 이 등록 정보는 XMLNSC 구문 분석기가 입력 메시지에서 주석을 발견할 경우 메시지 트리에서 요소를 작성하는지 여부를 제어합니다. 올바른 값은 없음 및 모두입니다. 모두를 선택하면 주석에 대해 요소가 작성됨을 의미합니다. 없음을 선택하면 주석이 무시되고 요소가 작성되지 않음을 의미합니다. |
처리 지시사항 보유 모드 | 예 | 아니오 | 없음 | 이 등록 정보는 XMLNSC 구문 분석기가 입력 메시지에서 처리 지시사항을 발견할 경우 메시지 트리에서 요소를 작성하는지 여부를 제어합니다. 올바른 값은 없음 및 모두입니다. 모두를 선택하면 처리 지시사항에 대해 요소가 작성됨을 의미합니다. 없음을 선택하면 처리 지시사항이 무시되고 요소가 작성되지 않음을 의미합니다. |
다음 표에는 JMSInput 노드의 설명 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
간단한 설명 | 아니오 | 아니오 | 노드에 대한 간략한 설명. | |
자세한 설명 | 아니오 | 아니오 | 메시지 플로우에서 노드의 목적을 설명하는 텍스트. |