Mule 流程参考和处理策略

Mule 流程参考和处理策略,mule,Mule,有人能解释一下,当一个流使用flow ref调用另一个流时,Mule处理策略是如何工作的吗 案例1. 假设我们有两个流:flowA和flowB,以及处理策略procA和procB,它们都是异步的,但是procA允许有10个线程,而procB只有1个线程 <queued-asynchronous-processing-strategy name="procA" maxThreads="10" doc:name="procA"/> <queued-asynchronous-proc

有人能解释一下,当一个流使用flow ref调用另一个流时,Mule处理策略是如何工作的吗

案例1.
假设我们有两个流:flowA和flowB,以及处理策略procA和procB,它们都是异步的,但是procA允许有10个线程,而procB只有1个线程

<queued-asynchronous-processing-strategy name="procA" maxThreads="10" doc:name="procA"/>
<queued-asynchronous-processing-strategy name="procB" maxThreads="1" doc:name="procB"/>

flowA正在从队列中读取数据,并使用

<flow-ref name="flowB" doc:name="flowB"/>

在这种情况下,将在flowA和flowB之间创建另一个队列,以便在单个线程中逐个执行所有flowB调用?
或者flowB将遵循flowA策略,可能同时处理10条消息

案例2.

flowA是从队列读取的同步流。 它调用一个异步flowB,最多允许1个线程,如下所示:

<queued-asynchronous-processing-strategy name="procB" maxThreads="1" doc:name="procB"/>
<async doc:name="Async" processingStrategy="procC">
<flow-ref name="flowB" doc:name="flowB"/>
</async>

异步块有自己的策略procC,允许10个线程:

<queued-asynchronous-processing-strategy name="procC" maxThreads="10" doc:name="procC"/>  

flowA是这样调用flowB的:

<queued-asynchronous-processing-strategy name="procB" maxThreads="1" doc:name="procB"/>
<async doc:name="Async" processingStrategy="procC">
<flow-ref name="flowB" doc:name="flowB"/>
</async>

问题是类似的:
在这种情况下,将在异步块和flowB之间创建另一个队列,以便在单个线程中逐个执行所有flowB调用?

或者flowB将遵循procC策略,同时处理10条消息?

案例1。

将为流B创建另一个具有1个线程的队列

VM接收器池线程->procA的SEDA线程->procB的SEDA线程

案例2.

如上所述,将为流B创建另一个具有1个线程的队列

VM接收器池线程->procC的SEDA线程->procB的SEDA线程

流程处理策略在本文中有所介绍,但我认为这并没有太大用处。在anypointstudio中设置这些流并使用记录器确定在特定时间运行的线程是很简单的