Spring Cloud Stream Kafka异常处理

时间:2020-09-07 17:15:42

标签: spring-cloud-stream spring-cloud-stream-binder-kafka

我正在处理一个事件导致Spring数据存储库保存数据的应用程序;

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

此代码可以引发各种异常,例如DataIntegrityViolationException,它是运行时异常。

我的问题

  • 处理此类异常,并且
  • 使用有效负载生成消息导致此错误
  • 有例外,
  • 允许生产者采取行动。

1 个答案:

答案 0 :(得分:0)

将自定义错误处理程序添加到绑定的侦听器容器中...

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