提高包含DB事务的Mule流的性能
我在mule中有一个流,它执行一个查询以在一批中检索100条记录。然后,它将记录传递到foreach中,在该循环中,每个记录在其自己的事务中进行处理。如果一个记录的事务失败,这不会影响foreach循环中的其他记录,因为它们应该继续自己的执行 这非常有效,只是它连续执行每个记录的事务。我想让多个事务同时工作(在一个限制范围内,比如说一次4个事务),以加快流程提高包含DB事务的Mule流的性能,mule,mule-studio,Mule,Mule Studio,我在mule中有一个流,它执行一个查询以在一批中检索100条记录。然后,它将记录传递到foreach中,在该循环中,每个记录在其自己的事务中进行处理。如果一个记录的事务失败,这不会影响foreach循环中的其他记录,因为它们应该继续自己的执行 这非常有效,只是它连续执行每个记录的事务。我想让多个事务同时工作(在一个限制范围内,比如说一次4个事务),以加快流程 <foreach doc:name="For Each"> <ee:multi-transactional acti
<foreach doc:name="For Each">
<ee:multi-transactional action="ALWAYS_BEGIN" doc:name="Transactional">
EXECUTE A NUMBER OF DIFFERENT QUERIES WITHIN THE TRANSACTION
</ee:multi-transactional>
</foreach>
在事务中执行许多不同的查询
我想我可以使用异步,但我需要在流程结束时关联所有内容
<foreach doc:name="For Each">
<ee:multi-transactional action="ALWAYS_BEGIN" doc:name="Transactional">
EXECUTE A NUMBER OF DIFFERENT QUERIES WITHIN THE TRANSACTION
</ee:multi-transactional>
</foreach>
编辑:我使用的解决方案
<foreach doc:name="For Each" batchSize="50" >
<all enableCorrelation="IF_NOT_SET" doc:name="All">
<async doc:name="Async">
<foreach doc:name="BatchedForEach">
<ee:multi-transactional action="ALWAYS_BEGIN" doc:name="Transactional">
EXECUTE A NUMBER OF DIFFERENT QUERIES WITHIN THE TRANSACTION
</ee:multi-transactional>
</foreach>
<flow-ref name="completeBatch" />
</async>
</all>
</foreach>
<sub-flow name="completeBatch">
<collection-aggregator doc:name="Collection Aggregator"/>
<combine-collections-transformer />
</sub-flow>
在事务中执行许多不同的查询
Foreach batchSize=“n”,然后为每个有效负载分叉并连接[0..n-1]
Foreach batchSize=“4”,然后为每个有效负载[0..3]分叉并连接?谢谢,你让我走上了正轨。如果你添加你的评论作为答案,我会将其标记为答案。