WebSphere Message Broker용으로 개발된 클라이언트 응용프로그램은 MQRFH2 메시지 헤더를 사용해야 합니다. 그러면 이러한 응용프로그램은 WebSphere Message Broker에서 제공하는 모든 기능을 사용할 수 있습니다.
MQRFH 메시지 헤더를 사용하는 기존 WebSphere MQ Publish/Subscribe 응용프로그램도 WebSphere Message Broker에서 지원되지만 기능은 WebSphere MQ Publish/Subscribe에서 제공하는 기능으로 제한됩니다.
WebSphere MQ Publish/Subscribe는 MQRFH2 형식을 지원하지 않습니다. WebSphere MQ Publish/Subscribe 브로커에 연결되는 클라이언트는 MQRFH 형식을 사용해야 합니다.
그러나 publish/subscribe를 사용하여 서로 통신해야 하는 클라이언트 응용프로그램은 사용하는 메시지의 형식에 상관 없이 이를 수행할 수 있습니다. WebSphere Message Broker에서는 subscriber가 올바른 형식의 메시지를 수신하도록 자동 변환을 제공합니다.
다음 표는 MQRFH 및 MQRFH2 메시지 헤더에 있는 동등한 필드 간의 맵핑을 보여줍니다.
MQRFH 필드 이름 | MQRFH2 필드 이름 |
---|---|
MQPSCommand | Command |
MQPSDelOpts | DelOpt |
MQPSPubOpts | PubOpt |
MQPSPubTime | PubTime |
MQPSQMgrName | QMgrName |
MQPSQName | QName |
MQPSRegOpts | RegOpt |
MQPSSeqNum | SeqNum |
MQPSTopic | Topic |
표에 표시된 MQRFH2 필드는 모두 <psc> 폴더에 포함됩니다.
MQPSCommand Publish MQPSPubOpts RetainPub MQPSStreamName SAMPLE.BROKER.RESULTS.STREAM MQPSTopic "Sport/Soccer/State/LatestScore/Team1 Team2"
<psc> <Command>Publish</Command> <PubOpt>RetainPub</PubOpt> <Topic>Sport/Soccer/State/LatestScore/Team1 Team2</Topic> </psc>
이러한 맵핑 규칙을 사용하여, WebSphere Message Broker는 MQRFH subscriber가 여전히 MQRFH2 publication을 수신하고 MQRFH2 subscriber가 MQRFH publication을 수신할 수 있게 합니다.
subscribe하는 토픽이 WebSphere MQ Publish/Subscribe 클라이언트에 의해 MQRFH 형식으로 publish되는 토픽인 경우에도 MQRFH2 subscriber는 컨텐츠 필터를 지정할 수 있으나, 호환성에 어느 정도의 제한이 있습니다. 이러한 제한사항에 대해서는 이 주제의 후반부에 자세히 설명되어 있습니다.
다음 표에서는 서로 다른 메시지 형식을 사용하는 클라이언트에 올바른 옵션을 요약합니다.
메시지 |
옵션 이름 |
옵션 값 |
지원 |
---|---|---|---|
모든 요청 |
MQPSCommand |
DeletePub |
예 |
MQMD.Format |
MQFMT_PCF |
아니오 |
|
MQMD.Report |
MQRO_PAN |
예 |
|
MQMD.MsgType |
MQMT_REQUEST |
예 |
|
MQMD.MsgId |
|
예 |
|
MQMD.CorrelId |
|
예4 |
|
MQMD.ReplyToQ |
|
예 |
|
MQMD.ReplyToQMgr |
|
예 |
|
MQPSStreamName |
|
토픽의 접두부에 정의됨3 |
|
MQPSTopic |
|
예 |
|
publication 삭제를 제외한 |
MQPSQMgrName |
|
예 |
MQPSQName |
|
예 |
|
MQPSRegOpts |
CorrelAsId |
예 |
|
모든 요청 |
MQPSDelOpts |
Local |
예5 |
publisher 등록 취소1 |
MQPSRegOpts |
DeregAll |
예 |
subscriber 등록 취소 |
MQPSRegOpts |
DeregAll |
예 |
Publish |
MQMD 필드 |
MQPS의 지정에 따름2 |
예 |
MQPSRegOpts |
Anon |
예7 |
|
Local |
예5 |
||
DirectReq |
예1 |
||
MQPSPubOpts |
NoReg |
예1 |
|
RetainPub |
예(publisher에 의해 설정) |
||
IsRetainedPub |
예(브로커에 의해 설정) |
||
OtherSubsOnly |
예 |
||
MQPSPubTime |
|
예 |
|
MQPSSeqNum |
|
예 |
|
MQPSStringData1 |
|
예 |
|
MQPSIntData1 |
|
예 |
|
publisher 등록1 |
MQPSRegOpts |
Anon |
예7 |
Local |
예5 |
||
DirectReq |
예1 |
||
subscriber 등록 |
MQPSRegOpts |
Anon |
예7 |
Local |
예5 |
||
NewPubsOnly |
예 |
||
PubOnReqOnly |
예 |
||
InclStreamName |
아니오3 |
||
InformIfRet |
예 |
||
모든 응답 |
MQPSCompCode |
|
추가된 새 값6 |
MQPSReason |
|
추가된 새 값6 |
|
MQPSReasonText |
|
추가된 새 값6 |
|
MQPSCommand |
|
이것이 응답이 되는 명령 |