Входящая конечная точка Mule не выбирает файл

<flow name="receive-files-from-client">
        <file:inbound-endpoint connector-ref="ibFileConnector"
                               path="/client-data/accounts/client/ToTest">
            <file:filename-wildcard-filter pattern="ABC_123*.txt, XYZ_987*.txt" />

            <object-to-byte-array-transformer />   <!-- need to convert from an input stream to a byte array to avoid having the wire-tap close it -->

            <wire-tap>
                <file:outbound-endpoint path="${workingDdir}/Dir1/archive/inbound/#[function:datestamp-yyyy-MM-dd_HH-mm-ss.SSS]" />
            </wire-tap>
        </file:inbound-endpoint>

....
...
</flow>

Я все настроил правильно, но Mule не выбирает файл из этого входящего пути.


person Dkr    schedule 20.05.2014    source источник
comment
Вы видите в логах, не подхватывается ли файл или он отфильтровывается?   -  person Ale Sequeira    schedule 21.05.2014
comment
После некоторых изменений Mule пытается получить доступ к файлу, но ошибка: ОШИБКА... [[Application-1.0-SNAPSHOT].inboundFileConnector.receiver.02] org.mule.exception.DefaultSystemExceptionStrategy: ********* Сообщение : Файл CYC53_855.001234txt не существует или не может быть прочитан. Код: MULE_ERROR-6 -----------------------------   -  person Dkr    schedule 22.05.2014


Ответы (1)


Используйте следующий измененный поток. Вы используете исходящий файл внутри входящего файла.

<flow name="receive-files-from-client">
        <file:inbound-endpoint connector-ref="inboundFileConnector"
                               path="/client-ftpdata/ftpaccounts/client/To_CC-Test">
            <file:filename-wildcard-filter pattern="CYC53_810*.txt,CYC53_855*.txt,CYC53_856*.txt,CYC53_997*.txt" />

            <object-to-byte-array-transformer />   <!-- need to convert from an input stream to a byte array to avoid having the wire-tap close it -->

            <wire-tap>
                <file:outbound-endpoint path="${global.workdir}/suppliers/S000590/archive/inbound/#[function:datestamp-yyyy-MM-dd_HH-mm-ss.SSS]" />
            </wire-tap>
        </file:inbound-endpoint>
            <wire-tap>
                <file:outbound-endpoint path="${global.workdir}/suppliers/S000590/archive/inbound/#[function:datestamp-yyyy-MM-dd_HH-mm-ss.SSS]" />
            </wire-tap>


....
...
</flow>

Попробуйте выполнить свой поток без фильтра и посмотрите, выбирает ли поток файлы. Если это так, измените регулярное выражение вашего фильтра.

Надеюсь это поможет.

person user1760178    schedule 21.05.2014