未提供初始偏移量时,Spring Boot Kafka侦听器无法读取消息

时间:2019-07-25 05:55:43

标签: spring-boot spring-kafka

我正在尝试使用spring boot kafka使用者(kafka已在服务器中设置),但是当我尝试使用特定主题的消息时,除非指定初始偏移量,否则它不会读取任何内容。但是,当指定使用者每次重新启动相同消息时的初始偏移量时,都会再次处理该消息。

当我不提供初始偏移量时,理想情况下,它应该从最新提交的偏移量或基于auto-offset-reset配置的最早的偏移量读取。项目启动后,我将一些新消息推送到该主题,但是启动后spring-kafka不会读取新消息甚至旧消息。

这是我的application.yml

server: 
  port: 9000

spring:
   kafka:
     consumer:
        bootstrap-servers: ip
        group-id: test-consumer-group
        auto-offset-reset: earliest
        key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
        value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
     producer:
        bootstrap-servers: ip
        key-serializer: org.apache.kafka.common.serialization.StringSerializer
        value-serializer: org.apache.kafka.common.serialization.StringSerializer

这是我的听众

@Service
@EnableKafka
public class KafkaConsumer {

    // @KafkaListener(groupId = "test-consumer-group", topicPartitions =@TopicPartition(topic = "word-count-output", partitions = "0"))
//  @KafkaListener(groupId="test-consumer-group", topics="word-count-output")

    @KafkaListener(topicPartitions = @TopicPartition(topic = "word-count-output", partitionOffsets = {
            @PartitionOffset(partition = "0", initialOffset = "0") }))
    public void consume(String message) throws IOException {
        System.out.println(message);
    }
}

如果我尝试任何注释的注释,那么侦听器不会读取任何消息。

0 个答案:

没有答案