4.9.6. non-destructive コンシューマーの作成
コンシューマーがキューに接続すると、通常の動作として、そのコンシューマーに送信されたメッセージがコンシューマーによってのみ取得されます。コンシューマーがメッセージの受信を確認すると、ブローカーはキューからメッセージを削除します。
コンシューマーを設定する別の方法は、キュー ブラウザー として設定することです。この場合、キューは引き続きすべてのメッセージをコンシューマーに送信します。ただし、ブラウザーでは、他のコンシューマーがメッセージ受信しないようにすることはできません。さらに、ブラウザーがメッセージを消費すると、メッセージはキューに残ります。ブラウザーとして設定されたコンシューマーは、non-destructive コンシューマーのインスタンスです。
last value キューの場合、すべてのコンシューマーを non-destructive コンシューマーとして設定すると、すべての last value キーの最新の値が常にキューに保持されます。次のサブセクションの例は、last value キューを設定して、すべてのコンシューマーが non-destructive であることを確認する方法を示しています。
4.9.6.1. broker.xml を使用した non-destructive コンシューマーの設定
Broker.xml
設定ファイルで、last value キューを作成するには、non-destructive
パラメーターを true
に設定します。この設定の例を以下に示します。
<address name="my.address"> <multicast> <queue name="orders1" last-value-key="stock_ticker" non-destructive="true" /> </multicast> </address>