ServiceFlow와 FileFlow가 있습니다. ServiceFlow (Flow1)가 트리거 되 자마자 FileFlow (Flow2)는 모든 파일을 가져 와서 처리해야합니다.ESB : flow1에서 flow2 로의 플로우를 제어 할 수 없습니다.
초기 상태를 Flow2에서 중지 상태로 만드는 것은 Mule 서버가 시작될 때까지 (즉, 처음 실행 된 트리거 실행까지)에만 처음으로 작동합니다. 일단 흐름이 첫 번째 트리거에 도달하면 어떤 파일을 유지하려고 시도하면 file:inbound-endpoint
은 파일 처리를 시작합니다.
그러나 내 시나리오는 각 트리거를 기반으로하므로 두 번째 파일에서 파일을 선택해야합니다. Flow2에서이를 제어하는 방법을 알려주십시오. 내가 뮬 버전을 사용하여 아래의 코드
<flow name="serviceFlow" doc:name="Flow1">
<http:inbound-endpoint exchange-pattern="request-response"
host="localhost" port="8081" doc:name="HTTP" contentType="text/xml"
mimeType="text/xml" />
<set-payload value="'Started Processing'" doc:name="Set Payload" />
<async doc:name="Async">
<expression-component doc:name="Expression">
app.registry.FileFlow.start();
</expression-component>
</async>
</flow>
<flow name="FileFlow" doc:name="Flow2" initialState="stopped" >
<file:inbound-endpoint responseTimeout="10000" doc:name="File" path="C:\Users\Desktop\IN"/>
<batch:execute name="businessBatch1" doc:name="Batch Execute"/>
</flow>
을 사용하고
: 3.5.1
Sen : 나는 이것을 시도했지만 작동하지 않는 것 같습니다. 내가 잘못하고 있거나 다른 방법으로 거기에있다. – star
@Aniren : Boss 고맙습니다, 괜찮습니다.하지만 다른 시나리오에서는 (배치 단계에서 일괄 처리 흐름에있는 반면에 Flow2에서 일괄 처리 흐름을 호출하는 예를 들어 ** 같은 오류가 발생합니다 ** org.mule.transport.file.ReceiverFileInputStream ** 올바른 유형이 아닙니다. 그것은 ** 유형 java.lang.Iterable java.lang.Iterable java.lang.Iterable합니다 "** 작동하지 않습니다. 다시 한 번 일괄 입력 단계를 iteratable (내 inout us xml, 목록으로 만드는 자바 구성 요소를 사용하여) 왜 이상한 시나리오가 생깁니 까? – star
거기에 뮬 구성을 게시하는 스택 오버플로에 대한 별도의 새로운 질문을 만들어야합니다. 우리는이 문제를 조사하고 해결책을 논의 할 수 있습니다 :) –