kafka 示例(spring boot)消费位移手动提交


springboot kafka 消费位移手动提交

 

 

************************

示例

 

*****************

配置文件

 

application.yml

spring:
  kafka:
    bootstrap-servers: 172.18.0.12:9092
    producer:
      properties:
        enable.idempotence: true
    consumer:
      enable-auto-commit: false
    listener:
      missing-topics-fatal: false
      type: batch
      ack-mode: manual

 

*****************

producer 端

 

ProducerService

@Service
public class ProducerService {

    @Resource
    private KafkaTemplate<Object,String> kafkaTemplate;

    public void sendSync() throws Exception{
        for (int i=0;i<100;i++){
            SendResult<Object,String> result=kafkaTemplate.send("sync","瓜田李下 同步发送"+i).get();
            System.out.println(result);
        }
    }

}

 

*****************

consumer 端

 

ConsumerService

@Component
public class ConsumerService {

    @KafkaListener(groupId = "consumerGroup4",topics = "sync")
    public void consume4(ConsumerRecords<Object,String> consumerRecords, Acknowledgment acknowledgment){
        for(TopicPartition topicPartition:consumerRecords.partitions()){
            for(ConsumerRecord<Object,String> consumerRecord:consumerRecords.records(topicPartition)){
                System.out.println("消费时间:"+System.currentTimeMillis()+" "+consumerRecord.value());
            }
            acknowledgment.acknowledge();
        }
    }

}

 

 

************************

控制台输出

 

      

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值