Программисты JAVA общаются здесь
Anonymous
Spring Batch – Kafka: KafkaItemReader ВСЕГДА считывает данные с самого начала
Сообщение
Anonymous » 31 окт 2024, 12:37
Я хочу использовать Spring Batch для потребления данных Kafka. По этой ссылке на весенние советы приведен базовый пример того же самого.
Вот мой читатель:
Код: Выделить всё
@Bean
KafkaItemReader kafkaItemReader() {
var props = new Properties();
props.putAll(this.properties.buildConsumerProperties());
return new KafkaItemReaderBuilder()
.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-е число. Компенсировать. Итак, я получаю сообщения с самого начала. Это ошибка?
Почему нам нужно вручную указывать разделы для чтения? Что это изменит в будущем, не повлияет ли это на мой код?
Подробнее здесь:
https://stackoverflow.com/questions/598 ... -beginning
1730367471
Anonymous
Я хочу использовать Spring Batch для потребления данных Kafka. По этой ссылке на весенние советы приведен базовый пример того же самого. Вот мой читатель: [code] @Bean KafkaItemReader kafkaItemReader() { var props = new Properties(); props.putAll(this.properties.buildConsumerProperties()); return new KafkaItemReaderBuilder() .partitions(0) .consumerProperties(props) .name("customers-reader") .saveState(true) .topic("test-consumer") .build(); } [/code] Мой файл application.properties: [code] 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 [/code] Проблема: [list] [*]Каждый раз, когда я запускаю задание, оно ищет 0-е число. Компенсировать. Итак, я получаю сообщения с самого начала. Это ошибка? [*]Почему нам нужно вручную указывать разделы для чтения? Что это изменит в будущем, не повлияет ли это на мой код? [/list] Подробнее здесь: [url]https://stackoverflow.com/questions/59853711/spring-batch-kafka-kafkaitemreader-reads-the-data-always-from-beginning[/url]