class 级别的 KafkaListener 注释忽略了错误处理程序 属性

KafkaListener annotation at class level with errorhandler property ignored

在 class 级别使用 kafkalistener 注释时,忽略提供的错误处理程序 属性。当使用 kafkalistner 注释方法并且提供的错误处理程序正在工作时。这是预期的行为吗?

这真是个错误。这段代码:

    String errorHandlerBeanName = resolveExpressionAsString(kafkaListener.errorHandler(), "errorHandler");
    if (StringUtils.hasText(errorHandlerBeanName)) {
        endpoint.setErrorHandler(this.beanFactory.getBean(errorHandlerBeanName, KafkaListenerErrorHandler.class));
    }

错过了:

private void processMultiMethodListeners(Collection<KafkaListener> classLevelListeners, List<Method> multiMethods,
        Object bean, String beanName) {

遗憾的是,我没有找到解决此问题的简单方法。请考虑使用一个 @KafkaListener 方法,将 Object 作为有效负载,并在该方法中将手动类型路由到其他方法。

欢迎就此事提出 GitHub 问题!