我正在尝试为ErrorHandler
配置TrackingEventProcessor
,以便重试我的@EventHandler
带注释的方法中的任何异常。
当前正在使用Axon Framework 4,并正在寻找实现方法。
答案 0 :(得分:0)
在这种情况下,我建议将PropagatingErrorHandler
设置为ListenerInvocationErrorHandler
。
知道给定事件处理器中有两个错误处理级别,即:
ListenerInvocationErrorHandler
,捕获从您的@EventHandler
带注释的方法中引发的异常。默认情况下为LoggingErrorHandler
实例,该实例记录异常。ErrorHandler
,捕获给定EventProcessor
的事务异常。默认值为PropagatingErrorHandler
,它会抛出异常。如果已配置的TrackingEventProcessor
引发异常,则EventProcessor
(TEP)ErrorHandler
实现将重试具有一定(不可配置)补偿的事件。
如果您想重试所有异常(无论如何,这可能是值得商bat的方法),因此您需要输入TEP的重试方案。为此,您只需将ListenerInvocationErrorHandler
配置为也是PropagatingErrorHandler
。我也建议您阅读Reference Guide,以更好地了解如何进行配置。