두 흐름, A.flow 및 B.flow가 있으며 결국 두 흐름 모두 동일한 Java 클래스를 실행합니다.노새의 서로 다른 흐름 동기화
& B는 별도의 대기열에서 읽습니다.
두 플로우가 동시에 입력되면 한 번에 한 플로우 씩 처리가 끝나고 다른 플로우가 처리를 시작하도록 플로우를 동기화하려고합니다.
아이디어가 있으십니까?
감사
두 흐름, A.flow 및 B.flow가 있으며 결국 두 흐름 모두 동일한 Java 클래스를 실행합니다.노새의 서로 다른 흐름 동기화
& B는 별도의 대기열에서 읽습니다.
두 플로우가 동시에 입력되면 한 번에 한 플로우 씩 처리가 끝나고 다른 플로우가 처리를 시작하도록 플로우를 동기화하려고합니다.
아이디어가 있으십니까?
감사
사용을 풀링 된 구성 요소를 한 번에 하나 개의 스레드를 사용하도록 구성 :
<flow name="A">
<jms:inbound-endpoint...>
...
<vm:outbound-endpoint path="process"/>
...
</flow>
<flow name="B">
<jms:inbound-endpoint...>
...
<vm:outbound-endpoint path="process"/>
...
</flow>
<flow name="process">
<vm:inbound-endpoint path="process"/>
<pooled-component class="org.my.PrototypeObject">
<pooling-profile exhaustedAction="WHEN_EXHAUSTED_WAIT" initialisationPolicy="INITIALISE_ALL" maxActive="1" maxIdle="1" maxWait="1000" /> </pooled-component>
</pooled-component>
</flow>
출처 : 당신이 "흐름이 같은 자바 클래스를 처리하는"말할 때 http://www.mulesoft.org/documentation/display/current/Configuring+Java+Components#ConfiguringJavaComponents-ConfiguringaPooledJavaComponent
이 구성 요소는 흐름 A와 B에서 참조하는 세 번째 흐름 (하위 흐름 아님)에 있어야합니다. –
@DavidDossot, 내 대답이 업데이트되었습니다. –
당신을 메시지의 메시지 페이로드에 동일한 Java 객체 (클래스 인스턴스)가 있거나 흐름의 프로세서와 동일한 Java 객체 인스턴스를 사용한다는 의미입니까? 아마도 일부 예제 XML을 사용하여 질문을 명확히 할 수 있습니다. –