3

特定のルーティングキーを持つ最大1つのメッセージがいつでも保留になるようにRabbitMQ交換またはキューを構成することは可能ですか?新しいメッセージが到着すると、古いメッセージは削除され、新しいメッセージがキューに入れられます。

そのようなオプションが利用できない場合、アプリケーションレベルでこれを実装するための最良の方法は何でしょうか?つまり、アプリケーションがメッセージを受信したときに、保留中のメッセージが他にあるかどうかをどのように確認できますか?

4

1 に答える 1

6

LastValueCacheをインストールして有効にする必要があります。交換は、直接交換タイプから継承するタイプ「x-lvc」になります。

MQに接続するたびに、キューを作成してこの交換にバインドします。最新のメッセージをキューに配信します。最新のメッセージのみを確実に受け取るのに最適です。この交換に送信された他のすべてのメッセージは、キューが接続されていない限り破棄されます。したがって、接続すると、引き続き更新を受信します。

インストール手順は次のとおりです: https ://github.com/simonmacmullen/rabbitmq-lvc-plugin

同様の質問があります: RabbitMQメッセージング-コンシューマーの初期化

于 2012-11-19T11:02:51.640 に答える