Обработка исключений Spring Cloud Stream Kafka

#spring-cloud-stream #spring-cloud-stream-binder-kafka

#поток весеннего облака #spring-cloud-stream-binder-kafka

Вопрос:

Я работаю над приложением, в котором событие заставляет spring data repository сохранять данные;

 Entity entity = entityRepository.save((Entity) event.getPayload());
  

этот код может вызывать различные исключения, такие как исключение DataIntegrityViolationException, которое является исключением во время выполнения.

Мой вопрос заключается в том, как

  • Обработайте такое исключение и
  • создание сообщения с полезной нагрузкой вызвало эту ошибку
  • с Исключением,
  • позволяет производителю выполнить действие.

Ответ №1:

Добавьте пользовательский обработчик ошибок в контейнер прослушивателя привязки…

 @Bean
ListenerContainerCustomizer<AbstractMessageListenerContainer<?, ?>> customizer() {
    return (container, dest, group) -> {
        if (group.equals("theOneIWant")) {
            container.setErrorHandler( ... );
        }
    };
}