Свойство Spring Kafka для установки SeekToCurrentBatchErrorHandler

Есть ли ошибка обработки пакетов свойства spring.kafka?

spring.kafka.listener.type=BATCH и spring.kafka.listener.ack-mode=BATCH

с SeekToCurrentBatchErrorHandler ? Заранее спасибо.

0
0
1 553
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы не можете установить его с помощью свойства, но вы можете переопределить автоматически настроенную фабрику контейнеров Boot следующим образом:

@Bean
public ConcurrentKafkaListenerContainerFactory<?, ?> kafkaListenerContainerFactory(
        ConcurrentKafkaListenerContainerFactoryConfigurer configurer,
        ConsumerFactory<Object, Object> kafkaConsumerFactory) {

    ConcurrentKafkaListenerContainerFactory<Object, Object> factory = new ConcurrentKafkaListenerContainerFactory<>();
    configurer.configure(factory, kafkaConsumerFactory);

    factory.setBatchErrorHandler(new SeekToCurrentBatchErrorHandler());

    return factory;
}

Он получит все свойства загрузки, и вы сможете дополнительно настроить фабрику по мере необходимости.

Спасибо Гэри - это действительно помогает. Есть ли планы добавить его в будущем?

A-D 09.04.2019 16:10

Я добавил проблема с новой функцией для загрузки. Это не будет свойство, но оно может автоматически подключаться к @Bean, если в контексте приложения найдено ровно одно (как в настоящее время делается для непакетных ErrorHandler).

Gary Russell 09.04.2019 16:40

Это тоже помогает. :) Я заметил, что автосвязывание Bean-компонента ErrorHandler не совсем работает для пакета. Думал, что делаю что-то не так. :)

A-D 09.04.2019 17:46

Не уверен, должен ли я разместить вопрос здесь. Есть ли причина, по которой функция «spring.kafka.listener.ack-on-error=false/true» не реализована?

A-D 09.04.2019 18:04

Вы действительно не должны; здесь не любят развернутых комментариев. Просто свойств оооочень много, выбрано всего несколько, и вы всегда можете воспользоваться методикой в ​​моем ответе для "расширенной" настройки. Вы можете открыть другую проблему, чтобы запросить ее при загрузке, но они, скорее всего, не добавят ее до версии 2.2 (в которой используется S-K 2.3, и мы изменили значение по умолчанию на false).

Gary Russell 09.04.2019 18:13

Другие вопросы по теме