4.7. 서브스크립션 대기열 구성
대부분의 경우 클라이언트가 먼저 주소에 가입하도록 요청할 때 프로토콜 관리자가 자동으로 서브스크립션 큐를 생성하므로 서브스크립션 대기열을 수동으로 생성할 필요가 없습니다. 자세한 내용은 4.8.3절. “프로토콜 관리자 및 주소”를 참조하십시오. Cryostat 서브스크립션의 경우 생성된 큐 이름은 일반적으로 클라이언트 ID와 주소를 연결합니다.
다음 섹션에서는 필요한 경우 서브스크립션 대기열을 수동으로 생성하는 방법을 보여줍니다.
4.7.1. Cryostat 서브스크립션 큐 구성
큐가 Cryostat 서브스크립션으로 구성되면 브로커는 비활성 구독자에 대한 메시지를 저장하고 다시 연결할 때 구독자에게 전달합니다. 따라서 클라이언트는 구독한 후 큐에 전달된 각 메시지를 수신할 수 있습니다.
프로세스
-
<
;broker_instance_dir> /etc/broker.xml
구성 파일을 엽니다. 선택한
큐에
Cryostat 구성 요소를 추가합니다.true
값을 설정합니다.<configuration ...> <core ...> ... <address name="my.durable.address"> <multicast> <queue name="q1"> <durable>true</durable> </queue> </multicast> </address> </core> </configuration>
참고대기열은 default 요소를 포함하고 value를
true
로 설정하는 것은 기본적으로내구성이
있으므로 큐를 만드는 데 엄격하게 필요하지는 않습니다. 그러나 명시적으로 요소를 포함 하면 나중에 필요한 경우 큐의 동작을 non-durable로 변경할 수 있습니다.
4.7.3. 실행 불가능한 서브스크립션 대기열 구성
실행 불가능한 서브스크립션은 일반적으로 임시 대기열을 생성하고 삭제하는 관련 프로토콜 관리자에 의해 관리됩니다.
그러나 실행 불가능한 서브스크립션 큐와 같이 작동하는 대기열을 수동으로 생성하려면 대기열에서 purge-on-no-consumers
속성을 사용할 수 있습니다. purge-on-no-consumers
를 true
로 설정하면 소비자가 연결될 때까지 큐에서 메시지를 수신하지 않습니다. 또한 마지막 소비자가 대기열에서 연결이 끊어지면 큐가 제거됩니다(즉, 해당 메시지가 제거됨). 새 소비자가 큐에 연결될 때까지 큐는 추가 메시지를 수신하지 않습니다.
프로세스
-
<
;broker_instance_dir> /etc/broker.xml
구성 파일을 엽니다. 선택한 각 큐에
purge-on-no-consumers
속성을 추가합니다.true
값을 설정합니다.<configuration ...> <core ...> ... <address name="my.non.durable.address"> <multicast> <queue name="orders1" purge-on-no-consumers="true"/> </multicast> </address> </core> </configuration>