Publish 명령 메시지는 지정된 토픽에 대한 정보를 publish하기 위해 publisher에서 브로커로 또는 브로커에서 subscriber로 송신됩니다.
이 메시지는 Publication 노드가 들어 있는 메시지 플로우의 입력 큐로 송신됩니다. 이 큐에 메시지를 넣고 지정된 토픽에 대해 publish할 권한이 필요합니다.
사용자가 토픽의 전체가 아닌 일부에 대한 권한을 가지고 있을 경우, 해당 토픽만이 publish됩니다. 경고 응답은 publish되지 않은 토픽을 나타냅니다.
Subscriber에 일치하는 subscription이 있는 경우, 브로커는 Publish 메시지를 해당 subscriber 등록 명령 메시지에 정의된 subscriber 큐로 전달합니다.
명령 메시지를 브로커로 보낼 때 필요하며 브로커가 publication을 subscriber로 전달할 때 사용되는 메시지 설명자(MQMD) 매개변수에 대한 자세한 내용은 브로커 응답 메시지를 참조하십시오.
로컬 publication이 아닌 경우 브로커는 일치하는 subscription이 있는 네트워크의 다른 브로커로 Publish 메시지를 전달합니다.
publication 데이터가 있는 경우 메시지 본문에 포함됩니다. 데이터는 MQRFH2 헤더의 NameValueData 필드에 있는 <mcd> 폴더에 설명될 수 있습니다.
이 등록 정보는 반드시 지정해야 합니다.
이 등록 정보는 반드시 지정해야 하며, 필요에 따라 여러 토픽에 선택하여 반복할 수 있습니다.
이 등록 정보는 브로커로 송신된 publication 메시지에는 포함되지 않지만 적절한 subscriber로 해당 메시지가 송신되기 전에 브로커는 자동으로 이 등록 정보를 publication 메시지에 추가합니다. <SubPoint> 등록 정보 값은 publish를 처리 중인 Publication 노드의 subscription 지점 속성 값입니다.
브로커가 publication 사본을 보유할 것입니다. 이 옵션이 설정되지 않은 경우, 브로커가 현재의 모든 subscriber에 publication을 송신하자마자 publication이 삭제됩니다.
(브로커만 설정할 수 있습니다.) 브로커는 이 publication을 보유합니다. InformIfRetained 옵션을 사용하여 subscription이 등록된 경우, 브로커는 이전에 이 publication이 publish되었으며 보유되었음을 subscriber에 알리기 위해 이 옵션을 설정합니다. subscriber 등록 또는 갱신 요청 명령 메시지의 응답으로만 설정됩니다. subscriber로 직접 송신된 보유 publication에는 이 옵션이 설정되지 않습니다.
이 옵션은 이 publication을 다른 브로커로 송신하지 말도록 브로커에 알립니다. 이 브로커에서 등록된 모든 subscriber는 일치하는 subscription이 있는 경우 이 publication을 수신합니다.
이 옵션은 회의 유형 응용프로그램이 더 간단하게 처리되도록 합니다. 이러한 응용프로그램에서는 publisher가 같은 토픽의 subscriber이기도 합니다. 이 옵션은 일치하는 subscription이 있더라도 publisher의 subscriber에 publication을 송신하지 말도록 브로커에 알립니다. publisher의 subscriber 큐는 해당 QMgrName, QName 및 선택적 CorrelId로 구성됩니다.
MQMD(0이어서는 안됨)의 CorrelId는 publisher가 또한 subscriber이기도 한 응용프로그램에서 publisher의 subscriber 큐의 일부입니다.
모든 옵션은 디폴트 값을 가집니다. 이 값은 publication 옵션 등록 정보를 생략하는 것과 같은 효과를 가집니다. 다른 옵션이 동시에 지정된 경우, None은 무시됩니다.
이 등록 정보가 생략된 경우 디폴트 값은 publication 옵션이 설정되지 않은 상태입니다.
YYYYMMDDHHMMSSTH
이때 유니버설 시간에 적용됩니다. 브로커는 이 정보가 subscriber로 송신되기 전에 점검하지 않습니다.
각 publication마다 1씩 증가됩니다. 그러나, 브로커는 이를 점검하지 않고 단지 이 정보를 subscriber로 전송합니다.
동일한 토픽에 대한 publication가 연결된 다른 브로커로 publish될 경우, 순서 번호(사용된 경우)가 의미가 있는지 확인하는 것은 publisher의 책임입니다.
이 등록 정보를 생략할 경우, 디폴트 값은 메시지 설명자(MQMD)의 ReplyToQMgr 이름입니다. 결과로 표시되는 이름이 공백인 경우, 디폴트는 브로커의 큐 관리자 이름입니다.
이 등록 정보를 생략할 경우, 디폴트는 메시지 설명자(MQMD)의 ReplyToQ 이름입니다. 이때 OtherSubsOnly이 설정된 경우 값이 공백이어서는 안 됩니다.
다음은 Publish 명령 메시지의 NameValueData 예입니다.
<psc> <Command>Publish</Command> <Topic>Sport/Soccer/Event/MatchStarted</Topic> </psc>
<psc> <Command>Publish</Command> <PubOpt>RetainPub</PubOpt> <Topic>Sport/Soccer/State/LatestScore/Team1 Team2</Topic> </psc>