私が抱えている問題は次のとおりです。サービス ミックスとキャメル ルーティングを使用して、activeMQ 経由で JSON メッセージを消費者に送信しています。問題は、このコンシューマーがこのメッセージを処理するのにかかる時間が X であるため、メッセージの消費中にコンシューマーが停止またはクラッシュする可能性があることです。この場合、メッセージは半分消費者になり、十分に配信されたため、キューから既に削除されます。
メッセージが消費されたときにメッセージを削除しないようにキューを作成することはできますか?
ファイルシステムからファイルをインポートする典型的な方法では、ファイルが完全に処理され、トランザクションが完全にコミットされたときにのみ、ファイルを削除するか名前を変更します。では、ESB の世界では、私が終了するまでメッセージを保持し、私がメッセージを削除するように言うことができます。
私は現在、このメッセージを消費するために春の jms:listener-container と jms:listeners を使用しています。