kafkaTemplate.send(
invoiceEtcTradeTopic,
jsonMsg
).addCallback(new ListenableFutureCallback<SendResult<String, String>>(){
@Override
public void onFailure(Throwable ex) {
log.error("发送消息失败:{}",ex.getMessage());
}
@Override
public void onSuccess(SendResult<String, String> result) {
String topicName = result.getRecordMetadata().topic();
int num = result.getRecordMetadata().partition();
long offset = result.getRecordMetadata().offset();
log.info("发送消息成功:topic={},partition={},offset={}",topicName,num,offset);
if(numOrder[0] == 1){
log.info("");
}else{
kafka问题
最新推荐文章于 2023-12-23 10:00:00 发布
本文探讨了Kafka生产者如何防止消息丢失,通过设置标志和使用ListenableFutureCallback监听确保消息发送成功并重试。消费者方面,通过手动维护偏移量确保消息不被重复消费。同时,文章详细介绍了Kafka的偏移量管理,包括手动提交和回滚offset,以及ack设置的不同级别,帮助用户在可靠性和延迟之间做出权衡。
摘要由CSDN通过智能技术生成