2017-01-16 9 views
0

私のアプリケーションでは、キーを持つ1つのエクスチェンジにバインドされた2つのキューを使用しています。 この鍵正規表現と一致するメッセージは、両方のキューに送られます。複数のキューバインドを持つamqpデッドレター交換

ケース2:デッドレター交換メカニズムを使用してコンシューマーのビジネス例外の場合、遅延メッセージと最大再試行を実装しようとしています。

問題ケースキューの消費者によるビジネス例外のうちの1つを仮定してください....それはdlxに行き、次にメインの例外になります.....その後、メインの例外から....メッセージは両方のキュー。これは私が直面している問題です.....私は再試行メッセージがコンシューマ例外が発生した場所からだけそのキューに移動する必要があります。

私のケースでは、再試行メッセージがすべてのキューに送られ、重複メッセージが作成されています。

答えて

0

キューごとに2つ目のキュー固有のバインディングを追加できます。その特定のルーティングキー...もちろん

x-dead-letter-exchange=mainExchange x-dead-letter-routing-key=retryMainQ1

で各DLQを設定するには、2 DLQsを必要としています。

関連する問題