2
뮬의 서브 플로우와 프로세서 체인의 차이점은 무엇입니까?뮬 서브 플로우 대 프로세서 체인
지금까지 내가 사용한 두 가지 모두 다시 사용할 수 있습니다. 둘 다 설정을 더 읽기 쉽게 만듭니다. 둘 다 동 기적으로 실행됩니다. 둘 다 트리거링 플로우에서 처리 전략과 예외 전략을 상속받습니다.
프로세서 체인은 전역 메시지 프로세서뿐만 아니라 흐름 내부에서 정의 될 수 있습니다.
이 외에도 동작과 사용 방식이 어떻게 다른가요?
업데이트 : 명명 된 프로세서 체인
<flow name="man-flow" >
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" path="myapp/collection-processor" doc:name="HTTP">
<byte-array-to-string-transformer></byte-array-to-string-transformer>
</http:inbound-endpoint>
<expression-component doc:name="Expression"><![CDATA[java.util.ArrayList list = new java.util.ArrayList();
list.add("First String");
list.add("Second String");
list.add("Third String");
payload = list;]]>
</expression-component>
<request-reply>
<vm:outbound-endpoint path="split"/>
<vm:inbound-endpoint path="processed"/>
</request-reply>
<set-payload value="#[payload.toString()]"/>
</flow>
<processor-chain name="sample-processor-chain">
<append-string-transformer message=" in splitter" />
<append-string-transformer message=" in processor-chain" />
</processor-chain>
<flow name="splitter-flow">
<vm:inbound-endpoint path="split"/>
<collection-splitter enableCorrelation="IF_NOT_SET"/>
<processor ref="sample-processor-chain"></processor>
<vm:outbound-endpoint path="aggregate"/>
</flow>
<flow name="aggregator-flow">
<vm:inbound-endpoint path="aggregate"/>
<collection-aggregator timeout="30000"/>
<vm:outbound-endpoint path="processed"/>
</flow>