해당(선택적) 필터와 일치하는 지정된 토픽 및 subscription 지점에 대한 현재 보유 publication을 요청하기 위해 갱신 요청 명령 메시지가 subscriber에서 브로커로 송신되었습니다.
이 메시지는 브로커의 컨트롤 큐인 SYSTEM.BROKER.CONTROL.QUEUE로 송신됩니다. 갱신 요청 시에는 subscription의 토픽에 대한 액세스 권한(브로커의 시스템 관리자가 설정)과 이 큐에 메시지를 넣을 권한이 필요합니다.
일반적으로 이 명령은 subscriber가 등록 시 PubOnReqOnly 옵션을 지정한 경우 사용됩니다. 브로커가 일치하는 보유 publication이 있는 경우, subscriber로 송신됩니다. 브로커가 일치하는 보유 publication을 가지고 있지 않은 경우, 리턴 코드 MQRCCF_NO_RETAINED_MSG. 요청자는 동일한 Topic, SubPoint 및 Filter 값을 가진 subscription에 이전에 등록했어야 합니다.
이 등록 정보는 반드시 지정해야 하지만 이 메시지에 한 번만 나타날 수 있습니다.
이 등록 정보를 생략할 경우, 디폴트 subscription 지점이 사용됩니다.
<Filter> 등록 정보는 갱신을 요청 중인 원본 subscription에 지정된 것과 같은 값을 가집니다.
이 등록 정보를 생략할 경우, 컨텐츠 필터링이 발생하지 않습니다.
값이 0이어서는 안 되는 메시지 설명자(MQMD)의 CorrelId는 subscriber 큐에 일치하는 publication을 송신하는 데 사용됩니다.
모든 옵션은 디폴트 값을 가집니다. 이 값은 <RegOpt> 등록 정보를 생략하는 것과 같은 효과를 가집니다. 다른 옵션이 동시에 지정된 경우, None은 무시됩니다.
지정된 경우 subscriber ID(큐, 큐 관리자, correlid)는 단일 사용자 ID로 제한되지 않습니다. 이는 원본 등록 메시지의 사용자 ID를 subscriber의 ID와 연관시키고 그때부터 다른 사용자가 해당 ID를 사용하지 못하도록 하는 기존의 브로커 작동과 다릅니다. 새 subscriber가 동일한 ID를 사용하려고 하면 리턴 코드 MQRCCF_DUPLICATE_SUBSCRIPTION이 표시되면서 명령이 실패합니다.
그렇기 때문에 사용자에게 적절한 권한이 있는 경우 모든 사용자가 subscription을 수정하거나 등록 취소할 수 있습니다. 따라서 사용자 ID가 원래의 subscriber ID와 일치하는지 점검할 필요가 없습니다.
이 옵션을 기존 subscription에 추가하려면 명령은 원래의 subscription과 동일한 사용자 ID로 실행되어야 합니다.
갱신 요청 명령의 subscription에 VariableUserId가 설정된 경우, 이를 갱신 요청 시 설정하여 참조되는 subscription이 어떤 것인지 나타내야 합니다. 아니면 subscription을 확인하는 데 갱신 요청 명령의 사용자 ID가 사용됩니다. subscription 이름이 제공된 경우 다른 subscriber ID와 함께 이 ID는 대체됩니다.
이 등록 정보가 생략된 경우 디폴트는 등록 옵션이 설정되지 않은 상태입니다.
이 등록 정보를 생략할 경우, 디폴트 값은 메시지 설명자(MQMD)의 ReplyToQMgr 이름입니다. 결과로 표시되는 이름이 공백인 경우, 디폴트는 브로커의 QMgrName입니다.
이 등록 정보를 생략할 경우, 디폴트는 메시지 설명자(MQMD)의 ReplyToQ 이름입니다.
VariableUserId가 설정되었으며 사용자 ID가 subscription의 사용자 ID와 다른 경우, 새 명령 메시지의 사용자 ID가 스트림 큐를 찾아보고 subscription의 subscriber 큐에 넣을 권한을 가지고 있다면 명령이 성공합니다. 그렇지 않으면, 리턴 코드 MQRCCF_NOT_AUTHORIZED가 표시되면서 명령이 실패합니다.
이 명령의 기존 ID와 일치하는 subscription이 존재하지만 SubName이 없는 경우, 리턴 코드 MQRCCF_SUB_NAME_ERROR가 표시되면서 갱신 요청 명령이 실패합니다.
기존의 ID와 일치하는 명령 메시지를 사용하여 SubName을 갖는 subscription에 대해 갱신을 요청하려고 시도했지만 SubName이 지정되지 않은 경우, 명령이 성공합니다.