You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Axon 4.1.1中EventProcessingConfigurer注册ErrorHandler未生效问题

Axon 4.1.1自定义ErrorHandler未触发问题排查与解决

我之前也碰到过类似的问题,在Axon 4.1.x版本里,自定义错误处理器的注册逻辑确实有需要注意的细节。你现在的情况是:给SolrProjection处理组注册了实现ErrorHandler和ListenerInvocationErrorHandler的TestErrorHandler,但@EventHandler抛异常时,错误处理器的方法完全没执行。

问题根源

Axon 4.1.x中,ErrorHandler和ListenerInvocationErrorHandler的职责是明确分开的:

  • ErrorHandler负责处理事件处理器自身的内部错误,比如线程池故障、事件流读取失败这类底层问题
  • ListenerInvocationErrorHandler才是专门用来捕获**@EventHandler方法执行时抛出的业务/运行时异常**

你的代码只通过registerErrorHandler()注册了前者,而处理@EventHandler异常的后者并没有被关联到目标处理组,所以控制台看不到预期的输出。

解决方案

你需要同时注册两个处理器接口,把TestErrorHandler同时关联到这两个配置项上,有两种方式可以实现:

方式一:分别注册两个处理器

直接在配置方法中同时调用registerErrorHandler()和registerListenerInvocationErrorHandler():

@Autowired
public void configure(final EventProcessingConfigurer config) {
    TestErrorHandler testErrorHandler = new TestErrorHandler();
    // 注册处理组的全局ErrorHandler
    config.registerErrorHandler("SolrProjection", configuration -> testErrorHandler);
    // 注册处理@EventHandler异常的ListenerInvocationErrorHandler
    config.registerListenerInvocationErrorHandler("SolrProjection", configuration -> testErrorHandler);
}

方式二:通过Tracking处理器配置统一设置

如果你的SolrProjection使用的是默认的Tracking Event Processor(大部分场景都是),也可以通过配置处理器的方式一次性指定两个错误处理器:

@Autowired
public void configure(final EventProcessingConfigurer config) {
    TestErrorHandler testErrorHandler = new TestErrorHandler();
    config.registerTrackingEventProcessorConfiguration("SolrProjection", 
        processorConfigurer -> TrackingEventProcessorConfiguration.forSingleThreadedProcessing()
            .listenerInvocationErrorHandler(testErrorHandler)
            .errorHandler(testErrorHandler)
    );
}

额外验证点

  • 确认你的处理组没有被改成Subscribing Event Processor(默认是Tracking,除非你手动配置过)
  • 检查是否有其他配置类或Bean覆盖了你的错误处理器注册逻辑
  • 如果TestErrorHandler需要依赖其他Spring Bean,记得把它声明为@Bean,而不是手动new(你当前的写法没问题,但如果后续加依赖的话需要调整)

版本说明

Axon 4.2及以上版本对错误处理器的逻辑做了优化,ErrorHandler会覆盖更多场景,但4.1.x版本必须分开注册这两个处理器才能生效。

内容的提问来源于stack exchange,提问作者sherring

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 06:38:32