私は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)か?