Spring Kafka 手动立即确认以及 SeekToCurrentErrorHandler
Spring Kafka Manual Immediate Acknowledgement along with SeekToCurrentErrorHandler
我指的是这个答案:
.
我们可以像下面这样添加手动即时确认吗:
@KafkaListener(id = "so56728833", topics = "so56728833")
public void listen(Foo in, Acknowledgment ack {
System.out.println(in);
if (in.getBar().equals("baz")) {
throw new IllegalStateException("Test retries");
}
ack.acknowledge();
}
我想要这个是因为以下情况:
假设我已经处理了 100 条消息,现在在处理接下来的 10 条记录时,我的消费者在处理 4 条消息后就停止了。在这种情况下,重新平衡将被触发,这 4 条消息将被再次处理,因为我没有提交我的偏移量。
请帮忙。
是的,您可以在这里使用手动立即-您也可以使用AckMode.RECORD
,容器将在处理完记录后自动提交每个偏移量。
https://docs.spring.io/spring-kafka/docs/current/reference/html/#committing-offsets
我指的是这个答案:
我们可以像下面这样添加手动即时确认吗:
@KafkaListener(id = "so56728833", topics = "so56728833")
public void listen(Foo in, Acknowledgment ack {
System.out.println(in);
if (in.getBar().equals("baz")) {
throw new IllegalStateException("Test retries");
}
ack.acknowledge();
}
我想要这个是因为以下情况: 假设我已经处理了 100 条消息,现在在处理接下来的 10 条记录时,我的消费者在处理 4 条消息后就停止了。在这种情况下,重新平衡将被触发,这 4 条消息将被再次处理,因为我没有提交我的偏移量。
请帮忙。
是的,您可以在这里使用手动立即-您也可以使用AckMode.RECORD
,容器将在处理完记录后自动提交每个偏移量。
https://docs.spring.io/spring-kafka/docs/current/reference/html/#committing-offsets