Как обойти ActionAfterProcess для файла размером 0 в wso2 esb
Я использую приведенную ниже конфигурацию для перемещения файлов из одной папки в другую. Но я не хочу перемещать или удалять файлы размером 0 в папке "in". Пожалуйста, помогите мне.
<parameter name="transport.vfs.ReplyFileURI">vfs:file://E:\\orders</parameter>
<parameter name="Operation">urn:saveOrder</parameter>
<parameter name="transport.PollInterval">5</parameter>
<parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
<parameter name="transport.vfs.MoveAfterProcess">file:///E:\out</parameter>
<parameter name="transport.vfs.FileURI">file:///E:\in</parameter>
<parameter name="transport.vfs.MoveAfterFailure">file:///E:\fails</parameter>
<parameter name="transport.vfs.FileNamePattern">.*\.xml</parameter>
<parameter name="transport.vfs.ContentType">application/xml</parameter>
<parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter>
1 ответ
Не используйте ActionAfterProcess
Внутри inSequence, используйте send mediator, чтобы записать файл в пункт назначения:
<send>
<endpoint>
<address uri="file:///E:\out"/>
</endpoint>
</send>
Используйте медиатор фильтра, чтобы решить, должна ли эта передача выполняться или нет, в зависимости от значения FILE_LENGTH: get-property('transport','FILE_LENGTH')