Я готов использовать Spring Batch для потребления данных Kafka. Эта ссылка spring-tips имеет базовый c пример того же самого.
Вот мой reader
:
@Bean
KafkaItemReader<String, String> kafkaItemReader() {
var props = new Properties();
props.putAll(this.properties.buildConsumerProperties());
return new KafkaItemReaderBuilder<String, String>()
.partitions(0)
.consumerProperties(props)
.name("customers-reader")
.saveState(true)
.topic("test-consumer")
.build();
}
Мой application.properties
файл:
spring:
kafka:
consumer:
bootstrap-servers: localhost:9092
group-id: groupid-Dev
enable-auto-commit: false
auto-offset-reset: latest
auto.commit.interval.ms: 1000
key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
value-deserializer: org.apache.kafka.common.serialization.StringDeserialize
Проблема:
- Каждый раз, когда я запускаю задание, он ищет 0-е смещение. Итак, я получаю сообщения с самого начала. Это ошибка?
- Почему мы должны вручную указывать разделы для чтения? Что это изменит в будущем, не повлияет ли это на мой код?