Can someone pls explain how a Mule processing strategy works when one flow is calling another one with flow-ref?
Case 1.
Let's say we have 2 flows: flowA and flowB, with processing strategies procA and procB, both are asynchronous but procA has 10 threads allowed while procB has only 1.
<queued-asynchronous-processing-strategy name="procA" maxThreads="10" doc:name="procA"/>
<queued-asynchronous-processing-strategy name="procB" maxThreads="1" doc:name="procB"/>
flowA is reading from a queue and calling flowB with
<flow-ref name="flowB" doc:name="flowB"/>
Will be another queue created in this case between the flowA and flowB so that all the flowB calls executed in a single thread one by one?
Or flowB will be following the flowA strategy with possible 10 messages processed at the same time?
Case 2.
flowA is a synchronous flow reading from a queue. It's calling an asynchronous flowB with 1 max thread allowed like this:
<queued-asynchronous-processing-strategy name="procB" maxThreads="1" doc:name="procB"/>
The async block has it's own strategy procC with 10 threads allowed:
<queued-asynchronous-processing-strategy name="procC" maxThreads="10" doc:name="procC"/>
flowA is calling flowB like this:
<async doc:name="Async" processingStrategy="procC">
<flow-ref name="flowB" doc:name="flowB"/>
</async>
The question is similar:
Will be another queue created in this case between the async block and flowB so that all the flowB calls executed in a single thread one by one?
Or flowB will be following the procC strategy with 10 messages processed at the same time?