此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring for Apache Kafka 3.3.9! |
手动提交偏移
通常,当使用AckMode.MANUAL
或AckMode.MANUAL_IMMEDIATE
,则必须按顺序确认,因为 Kafka 不维护每条记录的状态,仅维护每个组/分区的已提交偏移量。
从 2.8 版开始,您现在可以设置 container 属性asyncAcks
,这允许按任何顺序确认轮询返回的记录的确认。
侦听器容器将推迟无序提交,直到收到缺少的确认。
使用者将暂停(不传递新记录),直到提交上一个轮询的所有偏移量。
虽然此功能允许应用程序异步处理记录,但应理解,它增加了失败后重复传递的可能性。 |
什么时候asyncAcks 已激活,则无法使用nack() (否定确认)提交偏移量时。 |