Mule:子流的事务管理器

时间:2015-03-03 05:27:19

标签: transactions mule mule-studio mule-component

尝试为包含各种子流的mule流实现事务方法,并且每个子流包含使用invoke组件在spring bean中的一些数据库插入。

<amqp:inbound>
    <flow ref="subflow1">
    <flow ref="subflow2">
    <flow ref="subflow3">
<amqp:outbound>

其中subflow1和subflow 2都包含对调用DAO数据库操作的服务bean的调用(使用hibernate会话).Subflow3调用外部系统。

<flow name="subflow1">
        <invoke object-ref="serviceBean" method="databaseOperation" methodArguments="#[message.inboundProperties]"/>
</flow>

建议实现事务管理器的最佳方法,如果任何子流失败,则应回滚在先前子流中完成的所有insert语句。

1 个答案:

答案 0 :(得分:0)

  • 在您的流程参考号
  • 周围添加transactional范围
  • 使用sub-flow代替flow用于您的子流,因此在其中发生的异常将冒泡到调用者流的事务范围。