私はSpring Frameworkが初めてで、質問は以下のとおりです。
DefaultMessageListenerContainer
プログラムでインスタンス化したいのですが、使用するコードは次のとおりです。
DefaultMessageListenerContainer container = new DefaultMessageListenerContainer();
container.setConnectionFactory(cf);
container.setDestination(Queue);
container.setMessageListener(Consumer);
container.setReceiveTimeout(-1);
container.setMaxConcurrentConsumers(15);
container.setConcurrentConsumers(10);
container.start();
DefaultMessageListenerContainer
プロジェクトのアンデプロイ時に手動でシャットダウンする必要があるのはなぜですか? コンテナーを手動でシャットダウンしないと、コンシューマーはキューで開いたままになります。
コンテナーを手動で ( を呼び出してcontainer.shutdown()
) シャットダウンしようとすると、手順がスタックし、プロジェクトが続行されません。DefaultMessageListenerContainer
シャットダウン手順を指定せずに初期化すると、receiveTimeout
正しく実行されます。に問題はありますsetReceiveTimeout(-1)
か?