메시지 헤더 필드 및 특성과 IBM MQ 형식 사이의 맵핑

서비스 통합이 메시지를 IBM MQ 형식으로 변환할 때 서비스 통합 메시지 헤더 필드 및 특성(메시지에 적용 가능한 JMS 메시지 헤더 필드 및 특성이 포함됨)에 따라 MQMD, MQRFH2의 필드를 설정합니다. 서비스 통합이 IBM MQ 형식으로부터 메시지를 변환할 때, IBM MQ 메시지에 있는 MQMD, MQRFH2의 서비스 통합 메시지 헤더 필드 및 특성을 설정합니다.

서비스 통합 및 IBM MQ

일반적으로, 서비스 통합과 IBM MQ 사이에서 JMS 메시지를 교환하기 위해 메시지 형식 간 변환을 인식하지 않아도 됩니다. 왜냐하면, 서비스 통합이 해당 변환(문자 및 숫자 인코딩 포함)을 자동으로 수행하기 때문입니다. 하지만 JMS 애플리케이션이 예상대로 작동하지 않거나 서비스 통합 구성에 비JMS IBM MQ 프로그램에서 메시지를 처리하는 JMS 프로그램 또는 중개가 포함되는 경우 메시지 변환에 대해 알아야 합니다.

서비스 통합 애플리케이션에서 MapMessage 오브젝트를 IBM MQ 애플리케이션과 교환하는 경우, 기본이 아닌 맵 메시지 인코딩 형식을 지정해야 합니다.

IBM MQ 메시지 특성: MQMD 및 MQRFH2

WebSphere MQ 메시지는 메시지 디스크립터(MQMD) 및 규칙과 형식화 헤더 2(MQRFH2)에 메시지 특성을 포함합니다. IBM MQ 메시지에는 항상 MQMD가 포함되지만 MQRFH2는 선택적입니다. 일부 WebSphere MQ 애플리케이션은 MQRFH2가 들어 있는 메시지를 처리할 수 없기 때문입니다. 상호 운용을 단순화하려면 서비스 통합을 구성하여 MQRFH2를 처리할 수 없는 애플리케이션의 메시지에서 MQRFH2를 생략할 수 있습니다. 서비스 통합 시 MQRFH2를 생략하면, 해당 서비스 통합 헤더 필드 및 특성을 버립니다.
참고: 작은 양의 MQRFH2 정보 또한 MQMD 필드에 저장됩니다. 그러나 이러한 MQMD 필드는 똑같지 않으며 덜 특정적인 경향이 있고 MQRFH2 정보의 정확한 대체를 제공하기 위해 의존할 수 없습니다. 따라서 수신 애플리케이션이 MQRFH2 헤더를 승인할 수 있는 경우, 항상 하나를 제공해야 합니다.

비슷하게 서비스 통합은 MQRFH2 없이 메시지를 생성하는 IBM MQ 애플리케이션으로부터 메시지를 수신할 수 있습니다. MQRFH2가 없는 메시지를 수신하면 서비스 통합은 MQMD에서 가져올 수 있는 양만큼 정보를 가져오고 다른 필드에는 기본 값을 사용하여 "최선의 추측" 서비스 통합 헤더를 작성합니다.

메시지 디스크립터 및 메시지 헤더의 컨텐츠에 관한 상세한 설명은 IBM MQ 애플리케이션 프로그래밍 참조를 참조하십시오. IBM MQ가 MQMD 및 MQRFH2에 JMS 메시지 특성 및 헤더 필드를 저장하는 방법의 세부사항을 포함하여 IBM MQ JMS 지원의 자세한 내용은 IBM MQ의 내용을 참조하십시오.

IBM MQ 메시지 특성: JMS 헤더 필드

다음 표는 IBM MQ 형식으로(부터) 메시지를 변환할 때 서비스 통합이 MQMD, MQRFH2 필드로(부터) JMS 헤더 필드를 맵핑하는 방법을 보여줍니다.

테이블에 MQRFH2 필드가 folder.field로 표시됩니다. 여기서 folder는 해당 필드를 포함하는 MQRFH2 폴더 이름이고, field는 MQRFH2 폴더에 있는 필드 이름입니다.

여러 JMS 헤더 필드의 경우, MQMD 필드 및 MQRFH2 필드가 둘 다 있습니다. 서비스 통합으로 메시지가 IBM MQ 형식으로 변환되는 경우, MQMD 및 MQRFH2 필드를 둘 다 설정합니다. 서비스 통합이 IBM MQ 형식으로부터 메시지를 변환 중일 때 사용 가능한 경우 MQRFH2 필드로부터 JMS 헤더 필드를 설정하고, 그렇지 않으면 MQMD 필드로부터 설정합니다.

표 1. JMS, MQMD 및 MQRFH2 헤더 필드. 이 표의 첫 번째 열은 JMS 헤더 필드를 나열하고, 두 번째 열은 첫 번째 열의 JMS 헤더 필드에 관련되는 MQMD 필드를 표시합니다. 세 번째 열은 첫 번째 열의 JMS 헤더 필드에 관련된 MQRFH2 필드를 표시합니다. 4번째 열은 필요한 경우 표 뒤에 나타나는 각주에 대한 링크를 제공합니다.
JMS 헤더 필드 MQMD 필드 MQRFH2 필드 참고
JMSCorrelationID CorrelId jms.Cid 참고 1을 참조하십시오.
JMSDeliveryMode 지속 jms.Dlv 참고 15를 참조하십시오.
JMSDestination   jms.Dst 참고 16을 참조하십시오.
JMSExpiration 만기 jms.Exp  
JMSMessageID MsgId    
JMSPriority 우선순위   참고 2를 참조하십시오.
JMSRedelivered BackoutCount   참고 3을 참조하십시오.
JMSReplyTo ReplyToQReplyToQMgr jms.Rto 참고 16을 참조하십시오.
JMSTimestamp PutDatePutTime jms.Tms  
JMSType   mcd.Type  
참고 1: MQMD CorrelId 필드는 48자리 16진 숫자(24바이트)의 표준 IBM MQ 상관 ID를 보유할 수 있습니다. JMSCorrelationIDbyte[] 값, 16진 문자 및 "ID:" 접두부를 포함하는 문자열 값 또는 "ID:"으로 시작하지 않는 임의의 문자열 값일 수 있습니다. 셋 중의 처음 둘은 표준 IBM MQ 상관 ID를 나타내며 MQMD CorrelId 필드로(부터) 직접 맵핑합니다(적용 가능한 대로 잘리거나 0으로 채워짐). MQRFH2 jms.Cid 필드를 사용하지 않습니다. 세 번째(임의의 문자열)는 MQRFH2 jms.Cid 필드를 사용합니다. UTF-8 형식으로 된 문자열의 처음 24바이트는 MQMD CorrelID에 작성됩니다.
참고 2: IBM MQJMSPriority 값을 MQRFH2 jms.Pri 필드에 저장하지만 해당 필드에 이미 있는 값은 사용하지 않습니다. 서비스 통합은 MQRFH2 jms.Pri 필드를 검사 또는 설정하지 않습니다.
참고 3: 서비스 통합은 MQMD의 BackoutCount 필드를 기초로 IBM MQ로부터 수신하는 메시지에 JMSRedelivered 표시기를 설정하며, 0이 아닌 BackoutCount 값은 메시지의 이전 수신이 롤백되었음을 나타냅니다.

IBM MQ 메시지 특성: JMS 정의 특성

다음 표는 IBM MQ 형식으로(부터) 메시지를 변환할 때 서비스 통합이 MQMD, MQRFH2 필드로(부터) JMS 정의 특성을 맵핑하는 방법을 보여줍니다.

테이블에 MQRFH2 필드가 folder.field로 표시됩니다. 여기서 folder는 해당 필드를 포함하는 MQRFH2 폴더 이름이고, field는 MQRFH2 폴더에 있는 필드 이름입니다.

여러 JMS 정의 특성의 경우, MQMD 필드 및 MQRFH2 필드가 둘 다 있습니다. 서비스 통합으로 메시지가 IBM MQ 형식으로 변환되는 경우, MQMD 및 MQRFH2 필드를 둘 다 설정합니다. 서비스 통합이 IBM MQ 형식으로부터 메시지를 변환 중일 때 사용 가능한 경우 MQRFH2 필드로부터 JMS 정의 특성을 설정하고, 그렇지 않으면 MQMD 필드로부터 설정합니다.

표 2. MQMD 및 MQRFH2 필드를 갖는 JMS 특성. 이 표의 첫 번째 열은 JMS 정의 특성을 나열하고, 두 번째 열은 첫 번째 열의 JMS 정의 필드에 관현되는 MQMD 필드를 표시합니다. 세 번째 열은 첫 번째 열의 JMS 정의 특성에 관련된 MQRFH2 필드를 표시합니다. 4번째 열은 필요한 경우 표 뒤에 나타나는 각주에 대한 링크를 제공합니다.
JMS 정의 특성 MQMD 필드 MQRFH2 필드 참고
JMSXAppID PutApplName    
JMSXDeliveryCount BackoutCount    
JMSXGroupID GroupId jms.Gid 참고 45를 참조하십시오.
JMSXGroupSeq MsgSeqNumber jms.Seq  
JMSXUserID UserIdentifier    
참고 4: MQMD GroupId 필드는 48자리 16진수(24바이트)의 표준 IBM MQ GroupId를 보유할 수 있습니다. JMSXGroupID는 16진 문자 및 "ID:" 접두부를 포함하는 문자열 값 또는 "ID:"으로 시작하지 않는 임의의 문자열 값입니다. 이들 중 첫 번째는 표준 IBM MQ GroupId를 나타내며 MQMD GroupId 필드(필요에 따라 잘리거나 0으로 채워짐)로(부터) 직접 맵핑됩니다. 두 번째(임의의 문자열)는 MQRFH2 jms.Gid 필드를 사용합니다. UTF-8 형식으로 된 문자열의 처음 24바이트는 MQMD GroupId에 작성됩니다.
참고 5: 서비스 통합이 IBM MQ 형식으로 메시지를 변환할 때 JMSXGroupID가 설정되어 있으면 서비스 통합에서도 MQMD의 MsgFlags 필드에 MQMF_MSG_IN_GROUP 플래그를 설정합니다. 그룹 메시지를 전송할 때 전송 JMS 애플리케이션은 MQMF_LAST_MSG_IN_GROUP 플래그가 필요에 따라 설정되어 있는지 확인해야 합니다(IBM MQ 메시지 특성: JMS 제공자 특정 특성 참조).

IBM MQ 메시지 특성: JMS 제공자 특정 특성

다음 표에서는 메시지를 WebSphere MQ 형식으로(부터) 변환할 때 서비스 통합이 JMS 제공자 특정 특성을 MQMD, MQRFH2 필드로(부터) 맵핑하는 방법에 대해 설명합니다. 일반적으로 수신 애플리케이션의 특수 요구사항을 처리하기 위해 이러한 특성을 사용하므로, 필수 특성 값의 세부사항은 수신 애플리케이션의 개발자나 관리자에게 문의해야 합니다.

표 3. MQMD 및 MQRFH2 필드를 갖는 JSM 제공자 특정 특성. 이 표의 첫 번째 열은 JMS 제공자 특정 특성을 나열하고, 두 번째 열은 첫 번째 열의 JMS 제공자 특정 특성에 관련되는 MQMD 필드를 표시합니다. 세 번째 열은 첫 번째 열의 JMS 제공자 특정 특성에 관련된 MQRFH2 필드를 표시합니다. 4번째 열은 필요한 경우 표 뒤에 나타나는 각주에 대한 링크를 제공합니다.
JMS 제공자 특정 특성 MQMD 필드 MQRFH2 필드 참고
JMS_IBM_ArmCorrelator   mqext.Arm 참고 6을 참조하십시오.
JMS_IBM_Character_Set CodedCharacterSetId CodedCharacterSetId 참고 7을 참조하십시오.
JMS_IBM_Encoding Encoding Encoding 참고 7을 참조하십시오.
JMS_IBM_Feedback 피드백    
JMS_IBM_Format Format Format 참고 7을 참조하십시오.
JMS_IBM_Last_Msg_In_Group MQMF_LAST_MSG_IN_GROUP   참고 8을 참조하십시오.
JMS_IBM_MQMD_CorrelId CorrelId   참고 910을 참조하십시오.
JMS_IBM_MQMD_MsgId MsgId   참고 911을 참조하십시오.
JMS_IBM_MQMD_Persistence Persistence   참고 9, 12, 15를 참조하십시오.
JMS_IBM_MQMD_ReplyToQ ReplyToQ   참고 9, 13, 16을 참조하십시오.
JMS_IBM_MQMD_ReplyToQMgr ReplyToQMgr   참고 9, 13, 16을 참조하십시오.
JMS_IBM_MsgType MsgType    
JMS_IBM_PutDate PutDate    
JMS_IBM_PutTime PutTime    
JMS_IBM_Report_* Report   참고 14를 참조하십시오.
JMS_IBM_RMCorrelator   mqext.Wrm  
JMS_TOG_ARM_Correlator   mqext.Arm 참고 6을 참조하십시오.
참고 6: ARM 상관자에 대해 이름 JMS_TOG_ARM_Correlator를 사용해야 합니다. 이름 JMS_IBM_ArmCorrelator는 일부 기존 JMS 프로그램과의 호환성을 위해 사용 가능합니다.
참고 7: JMS_IBM_Character_Set, JMS_IBM_Encoding, JMS_IBM_Format 특성은 IBM MQ 메시지 페이로드, 즉 MQRFH2(하나가 있는 경우) 뒤에 오는 IBM MQ 메시지 또는 MQRFH2가 없는 경우 MQMD를 제외한 전체 IBM MQ 메시지의 일부에 관한 정보를 포함하고 있습니다. 이러한 특성 및 사용 방법에 대한 자세한 정보는 메시지 본문과 IBM MQ 형식 사이의 맵핑의 내용을 참조하십시오.
참고 8: MQMF_LAST_MSG_IN_GROUP은 MQMD의 MsgFlags 필드에 있는 플래그 중 하나입니다.
참고 9: JMS_IBM_MQMD_CorrelId, JMS_IBM_MQMD_MsgId, JMS_IBM_MQMD_Persistence, JMS_IBM_MQMD_ReplyToQ, JMS_IBM_MQMD_ReplyToQMgr 특성은 JMS 애플리케이션이 IBM MQ MQMD 필드의 서비스 통합 기본 처리를 대체하도록 허용합니다. 서비스 통합이 메시지를 IBM MQ 형식으로 변환할 때, 서비스 통합은 해당 특성이 애플리케이션에 의해(setObjectProperty() 또는 setNonNullProperty()를 사용하여) 명시적으로 설정된 경우에만 이들 특성의 각각에 대해 대응하는 MQMD 필드를 설정합니다.

서비스 통합은 IBM MQ 형식으로부터 메시지를 변환할 때 대응하는 MQMD 필드로부터 이들 각 특성의 설정합니다.

참고 10: JMS_IBM_MQMD_CorrelId 특성은 JMSCorrelationID 특성의 기본 처리를 대체합니다. 서비스 통합이 메시지를 IBM MQ 형식으로 변환할 때, JMSCorrelationID 특성의 값(있는 경우)과 상관없이 JMS_IBM_MQMD_CorrelId 특성의 명시적 세트인 경우 서비스 통합은 MQMD CorrelId 필드를 값 (byte[])으로 설정합니다. JMS_IBM_MQMD_CorrelId 특성 설정은 MQRFH2 jms.Cid 필드의 값에 영향을 주지 않습니다.

서비스 통합이 메시지를 IBM MQ 형식으로부터 변환할 때, 서비스 통합은 MQRFH2 jms.Cid 필드의 값(있는 경우)과 상관없이 JMS_IBM_MQMD_CorrelId 특성을 MQMD CorrelId 필드의 값(byte[])으로 설정합니다.

참고 11: JMS_IBM_MQMD_MsgId 특성은 JMSMessageID 특성의 JMS 기본 처리를 대체합니다. 서비스 통합이 메시지를 IBM MQ 형식으로 변환할 때, 서비스 통합은 JMS_IBM_MQMD_MsgId 특성이 명시적으로 설정되었는지 여부를 확인합니다. 그 경우, 서비스 통합은 MQMD MsgId 필드를 이 값(byte[])으로 설정하고, JMS가 메시지에 할당하는 JMSMessageID의 고유 값을 대체합니다.

서비스 통합이 메시지를 IBM MQ 형식으로부터 변환할 때, 서비스 통합은 JMS_IBM_MQMD_MsgId 특성을 MQMD MsgId 필드의 값(byte[])으로 설정합니다.

참고 12: JMS_IBM_MQMD_Persistence 특성은 JMSDeliveryMode 특성의 기본 처리를 대체합니다. 서비스 통합이 메시지를 IBM MQ 형식으로 변환할 때, 서비스 통합은 JMSDeliveryMode 특성의 값(있는 경우)과 상관없이 JMS_IBM_MQMD_Persistence 특성으로 명시적으로 설정되는 경우 MQMD Persistence 필드를 값(정수)로 설정합니다. JMS_IBM_MQMD_Persistence 특성 설정은 MQRFH2 jms.Dlv 필드의 값에 영향을 주지 않습니다.

서비스 통합이 메시지를 IBM MQ 형식으로부터 변환할 때, 서비스 통합은 MQRFH2 jms.Dlv 필드의 값(있는 경우)과 상관없이 JMS_IBM_MQMD_Persistence 특성을 MQMD Persistence 필드의 값(정수)으로 설정합니다.

참고 13: JMS_IBM_MQMD_ReplyToQJMS_IBM_MQMD_ReplyToQMgr 특성은 JMSReplyTo 특성의 기본 처리를 대체합니다. 서비스 통합이 메시지를 IBM MQ 형식으로 변환할 때, 서비스 통합은 JMSReplyTo 특성의 값(있는 경우)과 상관없이 JMS_IBM_MQMD_ReplyToQ 특성이 명시적으로 설정된 경우 MQMD ReplyToQ 필드를 값(문자열)로 설정하고 JMS_IBM_MQMD_ReplyToQMgr 특성이 명시적으로 설정된 경우 MQMD ReplyToQMgr 필드를 값(문자열)으로 설정합니다. JMS_IBM_MQMD_ReplyToQ 또는 JMS_IBM_MQMD_ReplyToQMgr 필드를 설정하는 것은 MQRFH2 jms.Rto 필드의 값에 영향을 주지 않습니다.

서비스 통합이 메시지를 IBM MQ 형식으로부터 변환하는 경우, 서비스 통합은 MQRFH2 jms.Rto 필드의 값(있는 경우)과 상관없이 JMS_IBM_MQMD_ReplyToQJMS_IBM_MQMD_ReplyToQMgr 특성을 MQMD ReplyToQReplyToQMgr 필드의 값(문자열)으로 설정합니다.

참고 14: JMS_IBM_Report_* 특성 목록에 대해서는 MQMD 보고 필드를 JMS 제공자 특정 특성에 맵핑의 내용을 참조하십시오.
참고 15: 자세한 정보는 JMS 전달 옵션 및 메시지 신뢰성과 IBM MQ 지속성 값 사이의 맵핑의 내용을 참조하십시오.
참고 16: 자세한 정보는 대상과 IBM MQ 큐, 토픽 및 대상 사이의 맵핑의 내용을 참조하십시오.

주제 유형을 표시하는 아이콘 참조 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rjc0007_
파일 이름:rjc0007_.html