私はSpringのioドキュメントに記載されているサンプル構成を使用しており、うまくいきます。Spring統合 - Kafkaメッセージ駆動チャネル - 自動確認
<int-kafka:message-driven-channel-adapter
id="kafkaListener"
listener-container="container1"
auto-startup="false"
phase="100"
send-timeout="5000"
channel="nullChannel"
message-converter="messageConverter"
error-channel="errorChannel" />
しかし、私がkafkaから消費し、下流に公開する下流アプリケーションでテストしていたとき。ダウンストリームがダウンしている場合、メッセージはまだ消費されていて、再生されませんでした。
また、サービスアクティベータで何らかの例外が見つかった場合、カフカのメッセージを再生できるようにトランザクションをロールバックする必要があるいくつかの例外もスローしたいとします。
要するに、消費しているアプリケーションに問題がある場合は、メッセージが自動的に確認されないようにトランザクションをロールバックして、正常に処理されない限り何度も何度も再生します。