我正在尝试使用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);
}
}
如果我尝试任何注释的注释,那么侦听器不会读取任何消息。