2014-03-04 3 views
1

AAA_ [id_number] .dat 인 인바운드 폴더의 파일을 처리하는 Mule 플로우가 있습니다. 그러나 [id_number] .dat이라는 해당 파일을 사용할 수있을 때만이 파일을 처리하도록 Mule을 구성해야합니다. 두 번째 파일은 첫 번째 파일이 처리 준비가되었음을 나타냅니다.Mule - 다른 파일이있을 때만 파일 처리

대응 물인 경우에만 AAA_ 파일 처리를 시작하기 위해 Mule에서 인바운드 엔드 포인트를 구성 할 수있는 방법이 있습니까? [id_number] .dat 파일은 통지 목적으로 만 사용되었으므로 Mule에서 처리해서는 안됩니다. 인바운드 엔드 포인트에 대한 파일 인바운드 필터를 설정 필터링하지 왜 형식 AAA에서 파일을 찾기 위해 정규식 필터 ...

<!-- Mule Requester Config --> 
<mulerequester:config name="muleRequesterConfig" doc:name="Mule Requester"/> 

<!-- File Connectors --> 
<file:connector name="inputTriggerConnector" pollingFrequency="100" doc:name="File"/> 
<file:connector name="inputFileConnector" doc:name="File"/> 
<file:connector name="outputFileConnector" doc:name="File"/> 

<!-- File Endpoints --> 
<file:endpoint name="inputFileEndpoint" path="src/test/input" responseTimeout="10000" doc:name="File"> 
    <file:filename-regex-filter pattern="\d{6}.dat" caseSensitive="true"/> 
</file:endpoint> 

<!-- Trigger Flow --> 
<flow name="triggerFlow" doc:name="triggerFlow"> 

    <file:inbound-endpoint ref="inputFileEndpoint" connector-ref="inputTriggerConnector" pollingFrequency="1000" doc:name="Input Trigger"/> 

    <flow-ref name="mainFlow_StockB2C" doc:name="Flow Reference"/>  

</flow> 

<!-- Main Flow --> 
<flow name="mainFlow" doc:name="mainFlow"> 

    <mulerequester:request config-ref="muleRequesterConfig" resource="file://.../AAA_#[message.inboundProperties.originalFilename]?connector=inputFileConnector" timeout="6000" doc:name="Mule Requester"/> 

    <DO SOMETHING WITH AAA_ FILE> 

    <file:outbound-endpoint connector-ref="outputFileConnector" path="src/test/output" outputPattern="#[function:dateStamp].csv" responseTimeout="6000" doc:name="Output File"/> 

</flow> 

답변

2

이있는 [ID_NUMBER] 파일 (또는 AAA_ 파일을 제외 하나의 .dat), 알림에만 사용되는 경우? 내 의견으로는 더 이해할 수있을 것입니다. 그런 다음 원본 파일 이름 속성에 따라 흐름 내에 requester module으로 처리 할 파일을 가져올 수 있습니다.

+0

감사합니다. 애튼, 나는 그것에 대해 생각하지 않았습니다. – danw

+0

안녕하세요 @Anton, 후속 질문이 있습니다. Mule이 [id_number] .dat 파일을 처리하는 것을 어떻게 중지합니까? 나는 AAA 접두어가 붙은 파일을 내 흐름으로 처리하기를 원합니다. 현재 내 인바운드 위치에 [id_number] 파일을 놓으면 처리되고 AAA 파일은 그대로 유지됩니다. 내 원래의 질문에 내 XML을 포함하도록 편집했습니다. – danw

+0

죄송합니다, 질문을 이해하지 못합니다. 귀하의 XML은 작은 실수와 코드 누락으로 인해 실행 가능하지 않습니다. [id_number] 파일의 내용은 대부분 무시되며 지점에서 AAA 파일 내용을 사용할 수 있어야합니다. mulerequester 구성 요소 뒤에 를 입력하면 파일 내용을 볼 수 있습니다. –

0

필요한 경우 누군가에게 도움이 될 수있는 경우 사용자 지정 필터를 만들고 거기에 고유 한 필터링 논리를 포함시킬 수 있습니다. 이 블로그의 자세한 내용 here