2013-11-29 6 views
0

В mule внутри родительского потока я использовал три вспомогательных потока, каждый подтолк выполняется в aysnchronous block. Я хотел выполнить процессор, как только каждый из подпотоков завершил обработку. Может кто-то пролить свет на то, как это можно сделать.Выполнение процессора, когда блоки Async завершают выполнение

ответ

0

Для реализации такого типа привязки вил с помощью Mule вам необходимо использовать обработчики сообщений .

Подробнее о подходе здесь: http://blogs.mulesoft.org/aggregation-with-mule-fork-and-join-pattern/

+0

David, У меня был вопрос здесь, если какой-либо из моих подтопов застрял, требуется много времени для выполнения. Как следует использовать этот случай использования. – user2714010

+0

Настройте тайм-аут на 'collection-aggregator'. –

1

Или, если вы хотите, чтобы избежать накладных расходов на VM очереди в вы можете сделать это this way

Ключ использует который имеет логику для выполнения fork- join

<processor-chain> 
<custom-processor class="com.ricston.processor.ParallelMessageProcessor" doc:name="ParallelMessageProcessor"> 
<spring:property name="processors"> 
<spring:list> 
<spring:ref bean="lookupWs1"/> 
<spring:ref bean="lookupWs2"/> 
</spring:list> 
</spring:property> 
<spring:property name="maxActive" value="100"/> 
</custom-processor> 
<combine-collections-transformer /> 
</processor-chain> 
Смежные вопросы