Axon4 - 标准的异常处理机制

问题描述 投票:1回答:1

什么是Axon4标准的异常处理机制? Addiotnaally - 你如何确保如果在佐贺的事件之一期间例外occours(在状态之间),先前的状态被回滚?

任何例子将有助于。

exception-handling axon
1个回答
0
投票

这是你在这里问PRASHANT,与一对夫妇的答案给它的一个相当宽泛的问题。此外,您问两个问题,一个是什么样的异常处理方法是和两个如何应对传奇故事例外。

因此,当你在谈论传奇故事和事件,我要带你想知道周围的事件异常处理过程中的立场。让我先回答你的第一个问题在这里。正如你可能参考指南中已阅读,轴突使用什么所谓的EventProcessor作为技术机制获取事件的“事件处理组件”和佐贺实例。

所述EventProcessors允许两个不同级别的异常处理:1.当一个异常在@EventHandler / @SagaEventHandler注释功能发生时,这可以在ListenerInvocationErrorHandler捕获。 2.当异常在EventProcessor发生时,这可以在ErrorHandler捕获。

这两种方法都能在轴突4通过与EventProcessingConfigurer处理,并呼吁各自的寄存器的功能,它允许您设置一个全局默认或调整这些事件平均处理器进行设置。缺省值分别是LoggingErrorHandlerPropagatingErrorHandler

第二个问题你问的是关于发生异常时如何在佐贺回滚状态。我想在这里给你的建议是,在接收到一个事件,你第一个也是唯一后将执行其他操作改变状态。

其他操作,如调用第三方服务或发布命令。这些操作可能会因为你已经注意到失败,一个例外。然而它不能回滚佐贺的状态都没有。事件已经发生了。已经发生后操作失败并不能改变事件的事实,这一事实。

因此,我做什么建议是,如果发生这样的异常在执行补偿动作。

© www.soinside.com 2019 - 2024. All rights reserved.