spring.kafka.bootstrap-servers=127.0.0.1:9092
spring.kafka.consumer.group-id=order_ck_group
spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer
spring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.StringDeserializer
spring.kafka.consumer.auto-offset-reset=earliest
spring.kafka.consumer.enable-auto-commit=false
#最多拉取1000条数据
spring.kafka.consumer.max-poll-records=1000
#最长1000毫秒
spring.kafka.listener.type=batch
spring.kafka.listener.idle-between-polls=1000
spring.kafka.listener.ack-mode=manual_immediate
#topic名称
spring.kafka.topic=order_topic

消费者代码

@Component
public class OrderConsumer {

    @KafkaListener(topics = "#{'${spring.kafka.topic}'.split(',')}")
    public void orderConsumer(List<ConsumerRecord> data, Acknowledgment acknowledgment) {
        /*Iterator<ConsumerRecord> iterator = data.iterator();
        List<JSONObject> list = new ArrayList<>();
        JSONObject jsonObject = new JSONObject();
        while (iterator.hasNext()) {
            jsonObject = JSON.parseObject(iterator.next().value().toString());
            list.add(jsonObject);
        }*/
        System.out.println(data.size());
        acknowledgment.acknowledge();
    }
}

Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐