【问题标题】:Is there a way to execute the compensation from faulted activity有没有办法从错误的活动中执行补偿
【发布时间】:2018-10-23 19:04:02
【问题描述】:

假设我已经定义了传送单活动。在 Execute 方法中,我想进行几个异步服务调用。让我们假设 3 个服务调用。其中两个成功,一个失败。然后我想执行此活动的补偿操作,以补偿两个成功的服务调用引入的更改。从我看到的补偿仅针对以前的活动运行,当前活动补偿在其中某处出现异常时没有机会被调用。有没有办法处理它或者我应该改变方法?

我想达到类似的目标 使用大众运输。

【问题讨论】:

    标签: masstransit saga routing-slip


    【解决方案1】:

    您应该拥有三个独立的活动,并按顺序执行它们,这样当它们单独成功时,它们就会被添加到日志中。如果某项活动失败,将补偿之前的活动。

    通过在单个活动中进行所有三个调用,您将违背具有路由单和活动的全部原因。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多