私はコマンドラインから実行できる1つのバネバッチアプリケーションを持っています。バッチジョブのフローは、開始時にキューからメッセージを読み取り、変換してdbに書き込みます。今私は春バッチからJmsItemReaderを使用していますし、read()メソッドの中に私のロジックがあります。ここで問題になるのは、このプロセスが開始されると、キューにメッセージが存在しないことです。このシナリオでは、バッチ全体の処理を停止したいことがあります。バネバッチ2.1とJmsReader
これを春のバッチでどのように達成できますか?基本的には、JmsItemReaderを使用すると、JMSブローカにpingを送信し、メッセージを読んで一定期間スリープするとどうなりますか。今、処理するメッセージがない場合、バッチプロセスを実行したままにして、CPUを消費させる必要があるのはなぜですか。私はそれを翌日にスケジュールに従って実行したい。
おかげ
この動作がタイムアウトするスプリング-JMSデフォルト値で提供されjmstemplateのデフォルトの設定から来る
起こります!いい説明 – javauser2011