私はAcknowledgingMessageListenerを実装するシンプルなKafkaコンシューマを実装しました。 acknowledgment.acknowledge()があります。のonMessageメソッドで呼び出され、すべてがうまくいったり、回復可能な例外があったときに呼び出されます。この場合、すべてが機能します。承認後のカフカ消費者の回復.ACKnowledge();は呼び出されていません
しかし、物事が間違っていて、エラーがスローされる(私は捕まえない)かもしれません.JVMは、確認の前にonMessageメソッドでクラッシュする可能性があります。と呼ばれていました。
アプリケーションがクラッシュするが、再起動後、影響を受けるカフカのトピックからのメッセージは受信されません。カフカの再起動でさえ助けにならない、アプリケーションサーバーの再起動などは助けにはならないが、他のトピックはうまくいく。カフカは落ちない。
正しいKafkaコンシューマ(またはその他)の設定は、onMessageでこのようなクラッシュの後に再び動作するアプリケーションを取得しますか?私は承認されていないメッセージをもう一度受信し、その後まだ読み込まれていない他のすべてのメッセージを受信したいと思います。手動確認が重要です、私は自動確認応答モードを使用したくありません。