1

JMS にキューがあります。メッセージをキューに送信する際に、JMStype を「XYZ」と指定しています。コンシューマー側には onMessage リスナーがあります。私が知りたいのは次のことです

  1. onMessage リスナーで、メッセージをデキューせずにメッセージの JMStype を確認するにはどうすればよいですか。実行中のインスタンスが JMStype が 'XYZ' ではないことを検出した場合、何も実行せず、キューからデキューするべきではありません。JMS タイプ「XYZ」のメッセージを必要とするインスタンスのみが、メッセージをキューから取り出してさらに処理する必要があります。

私の質問を読んでくれてありがとう。

4

1 に答える 1

1

JMSTypeこの目的ではなく、メッセージセレクターを使用することをお勧めします。Spring JMSメッセージ リスナーを使用すると、JMS プロパティと JMS ヘッダーに基づいてメッセージをフィルター処理できます。

キューにメッセージを書き込むときに、メッセージ poperty を として"type='abc'"設定できます。リスナーの構成では、messageSelector="type='abc'".

このようにして、セレクターに一致するメッセージのみがキューから選択されます。

于 2014-12-08T11:42:19.817 に答える