4.7. 서브스크립션 큐 구성
대부분의 경우 클라이언트가 주소를 처음 구독하도록 요청할 때 프로토콜 관리자가 자동으로 서브스크립션 대기열을 생성하므로 서브스크립션 대기열을 수동으로 생성할 필요가 없습니다. 자세한 내용은 4.8.3절. “프로토콜 관리자 및 주소”를 참조하십시오. 성형 서브스크립션의 경우 생성된 큐 이름은 일반적으로 클라이언트 ID와 주소의 연결입니다.
다음 섹션에서는 필요한 경우 서브스크립션 대기열을 수동으로 생성하는 방법을 보여줍니다.
4.7.1. 안정된 서브스크립션 큐 구성
큐가 안정된 서브스크립션으로 구성되면 브로커는 비활성 구독자에 대한 메시지를 저장하고 다시 연결할 때 구독자에게 전달합니다. 따라서 클라이언트는 구독한 후 큐로 전달되는 각 메시지를 수신해야 합니다.
절차
-
<
;broker_instance_dir> /etc/broker.xml
구성 파일을 엽니다. 선택한 큐에 위치 구성 요소를 추가합니다.
true
값을 설정합니다.<configuration ...> <core ...> ... <address name="my.durable.address"> <multicast> <queue name="q1"> <durable>true</durable> </queue> </multicast> </address> </core> </configuration>
참고미용성 요소를 포함하여 기본적으로 대기열은 장래하지 않기 때문에 값을
true
로 설정하는 것은 지속성 큐를 만드는 데 엄격하게 필요하지 않습니다.그러나 명시적으로 요소를 포함하면 나중에 큐의 동작을 필요한 경우 취소할 수 없습니다.However, explicitly including the element enables you to later change the behavior of the queue to non-durable, if necessary.
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>