0
私は以下のようなテストを書いています。jmsリスナーで受信したmsgを検証するためのテストを書く(Spring-Boot)
src/main
でstate-info-1
と呼ばれるリスナーがあります。アクティブなトピックのメッセージ
state-info-2
に新しいメッセージが表示され、メッセージが変更されます。ダミーメッセージを作成し、activemqトピック
state-info-1
に公開します。最後に、トピック
state-info-2
の受信メッセージが期待どおりであることを確認します。
マイリスナーは次のとおりです。
@JmsListener(destination = "state-info-1", containerFactory = "connFactory")
public void receiveMessage(Message payload) {
// Do Stuff and Publish to state-info-2
}
私はこれについてテストすることができますか?それとも別のやり方でやらなければならないのですか?
しかし、これは私が期待していたものではありません。
正しい方向へのヘルプやプッシュで十分です。
ありがとうございます。
感謝。これは 'Queues'でも有効ですが、私が使っているactivemq' Topics'では動作しません。 'spring.jms.pub-sub-domain = true'というプロパティを持っていると動作しません。 'null'を取得します。 – Raj
これは、JMSトピックが機能する単なる方法です。デフォルトでは、サブスクリプションは耐久性がなく、メッセージが公開された時点でアクティブなコンシューマだけがメッセージを取得します。送信する前にリスナーが購読するのを待つか、またはサブスクリプションを永続的にする必要があります(つまり、初めてテストを実行するときだけ待機する必要があります)。 –
それを得ました!それを待って、それはうまく動作します。再度、感謝します :) – Raj