使用mule服务编排回滚以前的多个服务

使用mule服务编排回滚以前的多个服务,mule,Mule,我们的系统由10个子系统组成,通过socket、http/xml、http/protobuff和ERP服务探索服务,我正在寻找一个管理系统集成的框架,并研究了几天的Mule3。我知道mule service orchestration可以在一个流中多次调用不同的远程服务,但是我想知道mule是否可以自动取消以前的服务,例如,我想调用4个远程服务,所以在mule3中,我定义了一个流,然后依次调用这4个服务 呼叫服务#1 呼叫服务#2 呼叫服务#3 呼叫服务#4 例如,如果服务4失败,Mule3可以

我们的系统由10个子系统组成,通过socket、http/xml、http/protobuff和ERP服务探索服务,我正在寻找一个管理系统集成的框架,并研究了几天的Mule3。我知道mule service orchestration可以在一个流中多次调用不同的远程服务,但是我想知道mule是否可以自动取消以前的服务,例如,我想调用4个远程服务,所以在mule3中,我定义了一个流,然后依次调用这4个服务

  • 呼叫服务#1
  • 呼叫服务#2
  • 呼叫服务#3
  • 呼叫服务#4
  • 例如,如果服务4失败,Mule3可以自动调用吗

  • 呼叫取消服务#1
  • 呼叫取消服务#2
  • 呼叫取消服务#3
  • 取消这3个成功的服务。出于同样的原因,如果服务3失败,我想调用cancelService 1和cancelService 2。mule3能帮助解决这个问题吗

    此外,Mule3能否将上一个服务的响应作为参数传递给下一个服务?例如,是否将服务1的结果传递给服务2


    提前感谢。

    您正在寻找的是调用,它可以很好地用于设计上不是事务性的传输(即http)

    实现这一点的最佳方法可能是将补偿逻辑加入到a中,并使用a评估异常并决定需要补偿的服务


    一个更详细的选项是将已经调用的WS存储到会话中,并使用该属性选择需要进行的补偿。我不推荐这种方法,除非您无法从异常中确定WS失败了什么

    您正在寻找的是调用的异常,并且它可以很好地与设计上不是事务性的传输(即http)配合使用

    实现这一点的最佳方法可能是将补偿逻辑加入到a中,并使用a评估异常并决定需要补偿的服务


    一个更详细的选项是将已经调用的WS存储到会话中,并使用该属性选择需要进行的补偿。我不推荐这种方法,除非您无法从异常中确定哪些WS失败了

    谢谢。您能告诉我在哪里可以找到示例代码吗?似乎mule3没有内置的补偿服务事务支持,就像这篇文章中介绍的一样,这是正确的,您需要自己实现补偿逻辑,这取决于您的需要。谢谢。您能告诉我在哪里可以找到示例代码吗?似乎mule3没有内置的补偿服务事务支持,就像这篇文章中介绍的一样,这是正确的,您需要自己实现补偿逻辑,这取决于您的需要。