4.11.4. 마지막 값 큐에 대해 파괴적이지 않은 사용 시행

소비자가 큐에 연결할 때 정상적인 동작은 해당 소비자에게만 전송된 메시지가 소비자에 의해 독점적으로 획득된다는 것입니다. 소비자가 메시지 수신을 승인하면 브로커가 대기열에서 메시지를 제거합니다.

일반적인 사용 동작에 대한 대안으로, 거부 적이지 않은 사용을 강제하도록 큐를 구성할 수 있습니다. 이 경우 큐에서 메시지를 소비자에게 전송하면 다른 사용자가 메시지를 수신할 수 있습니다. 또한 이 메시지는 소비자가 사용하는 경우에도 큐에 남아 있습니다. 이러한 비차적 사용 동작을 적용하면 소비자가 대기열 브라우저 라고 합니다.

파괴적이지 않은 사용을 적용하는 것은 마지막 값 큐에 대한 유용한 구성입니다. 대기열이 항상 특정 마지막 값 키에 대한 최신 값을 보유하도록 하기 때문입니다.

다음 절차에서는 마지막 값 큐에 파괴적이지 않은 사용을 적용하는 방법을 보여줍니다.

사전 요구 사항

절차

  1. < broker-instance-dir> /etc/broker.xml 구성 파일을 엽니다.
  2. 이전에 큐를 마지막 값 큐로 구성한 경우 파괴적이지 않은 키를 추가합니다. 값을 true 로 설정합니다. 예를 들면 다음과 같습니다.

    <address name="my.address">
       <multicast>
          <queue name="orders1" last-value-key="stock_ticker" non-destructive="true" />
       </multicast>
    </address>
  3. 이전에 마지막 값 큐에 대한 주소 또는 주소 세트 를 구성한 경우 default-non-destructive 키를 추가합니다. 값을 true 로 설정합니다. 예를 들면 다음과 같습니다.

    <address-setting match="lastValue">
       <default-last-value-key>stock_ticker </default-last-value-key>
       <default-non-destructive>true</default-non-destructive>
    </address-setting>
    참고

    기본적으로 default-non-destructive 값은 false 입니다.