2017-10-03 8 views
1

私のプロジェクトでAWS SQSとSpring JMSを使用しています。 @JmsListener(destination = "queue_name")を使って自分のメソッドを持っています。私はこのキューを2つの異なるタイプのメッセージに使いたいと思っています。異なるメッセージタイプに対してaws sqsを使用

このリスナーはこのキューに設定されているため、両方のタイプのメッセージを受信します。私が達成しようとしているのは、あるタイプのメッセージを無視することです。 (送信者はメッセージをキューに送信している間にMessageAttributeを追加しています)。だから、送信者2から来るメッセージを無視する方法があるので、この方法はそれらを処理しません。

また、このキューには最大受信数が5のDLQが設定されています。したがって、メッセージが最初の5回の試行で処理されなかった場合、DLQに移動されます。

あなたの提案をお伝えください。

ありがとうございました。

答えて

2

正しい解決策は、2つの異なるキューを使用することです。 SQSは任意のプロパティによって配信されたメッセージをフィルタリングできません。したがって、クライアントがメッセージを読み込んで処理していない場合は、DLQですばやく終了します。

キューは空きです。したがって、複数のキューにはコストはかかりません。

+0

E.J Brennanさんのご意見ありがとうございました。あなたの返答にお答えいただきましたことが私にとって意味があります。私はあなたの入力が必要な別のユースケースを持っています。消費者が処理したメッセージがいったん処理されると、メッセージ送信者に通知したいのですが、この使用例でも新しいSQSを使用することをお勧めしますか?このユースケースに最適な別の方法/アプローチがある場合は、共有してください。どうもありがとう。 – user1246979

+1

もう1つのキューに送信されたメッセージ(送信者はメッセージを消費するためにそのキューを監視する必要があります)、 –

+0

E.J Brennanに感謝します。 – user1246979

関連する問題