【发布时间】:2021-06-24 20:14:10
【问题描述】:
我希望 if 控件进入 if 块,应该确认消息并且不应该读取 if 之外的语句。 我知道我可以放置一个 else 块,只是想了解消息是否已被确认并将在 if 块中提交,仍然是为什么在执行 if 块之外处理消息。
@Value(${environment.env})
private String env;
@kafkaListener
public void consume(@payload User user, Acknowledgment ack){
if(!env.equals(user.getEnv()){
log.info("skip");
acknowledgement.acknowlwdge();
}
// If env same
//Do some other processing with payload
}
已将确认模式设置为 Manually_Immediate 并且还自动偏移为false
【问题讨论】:
标签: spring-boot apache-kafka kafka-consumer-api spring-kafka consumer