MuleSoft ESB批量交易

时间:2017-11-07 15:46:00

标签: mule mule-studio mule-component mule-esb

感谢您的帮助。以下是我尝试在Mulesoft中重新创建的场景。

表中的1,500,000条记录。这是我们当前使用的流程。

开始交易。

删除表格中的所有记录。

从平面文件重新加载表格。

提交交易。

最终我们需要将文件处于良好状态,从而使用该事务。如果有任何失败,表中的数据将回滚到初始有效状态。

通过使用Batch元素<我能够获得所需的速度。 10分钟,但似乎整个批次流程都不支持交易。

我有什么想法可以让它在Mulesoft中运行?

再次感谢。

3 个答案:

答案 0 :(得分:0)

有点不同的工作流程但是如何:

  • 从平面文件加载临时表
  • 如果成功删除原始表
  • 将临时表重命名为原始表名

您可以保持Mule批处理工作流程以加载临时表并忘记回滚。

答案 1 :(得分:0)

为此您可以尝试以下方法:

  • 使用XA事务(因为将使用多个连接器, 无论是否使用相同的运输方式)
  • 在事务中登记自定义Java代码中使用的资源。

这也可以在同一个传输中应用(例如,Mule配置上的JDBC以及Java组件),因此它不仅限于PoC中演示的情况,仅作为参考

答案 2 :(得分:0)

请参阅此文https://dzone.com/articles/passing-java-arrays-in-oracle-stored-procedure-fro

从临时表轮询记录中。您可以使用任意数量的记录构造数组。 100K大小仅涉及​​15次往返。

要确定错误记录,您可以在错误表中插入记录,但必须在数据库过程中实现。