该版本仍在开发中,尚未被视为稳定。对于最新稳定版本,请使用 spring-cloud-stream 5.0.0!spring-doc.cadn.net.cn

重置偏移量

应用程序启动时,每个分配分区的初始位置取决于两个属性startOffsetresetOffsets. 如果resetOffsetsfalse,普通卡夫卡用户自动.offset.reset语义问题是必要的。 即如果绑定的消费者组没有承诺的分区偏移量,则位置为最早最近的. 默认情况下,带有显式最早,以及匿名绑定(没有) 的使用最近的. 这些默认值可以通过设置startOffset具有约束力的属性。 第一次以特定绑定开始时,不会有承诺的偏移量. 另一个不存在已承诺偏移量的条件是偏移量已过期。 现代经纪人(自2.1版本起)和默认经纪人属性中,抵消在最后一位成员离开组后7天到期。 参见偏移。留任。分钟数更多信息请咨询经纪房产。spring-doc.cadn.net.cn

什么时候resetOffsetstrue,绑定器应用的语义类似于当中介没有承诺抵消时的语义,仿佛该约束从未从主题中消耗过;即当前承诺的偏移量被忽略。spring-doc.cadn.net.cn

以下是两种可能使用的用例。spring-doc.cadn.net.cn

  1. 从包含键值对的压缩主题中消费。 设置resetOffsetstruestartOffset最早;绑定将执行开始在所有新分配的分区上。spring-doc.cadn.net.cn

  2. 从包含事件的主题中消费,你只对绑定运行期间发生的事件感兴趣。 设置resetOffsetstruestartOffset最近的;绑定将执行seekToEnd在所有新分配的分区上。spring-doc.cadn.net.cn

如果在初始分配后发生重新平衡,寻道任务只会对未在初始分配时分配的新分区进行。

关于主题偏移的更多控制,请参见 rebalance listener;当提供听者时,resetOffsets不应设置为true否则,将引发错误。spring-doc.cadn.net.cn