2016-05-30 2 views
1

My WSO2 ESB должен копировать большие файлы (> 100 МБ) из одной директории в другую. Раньше, когда pollInterval составлял 5 секунд, файл не был полностью скопирован. Я установил pollInterval на 180 секунд, и теперь все в порядке. Но мне нужна гарантия, что файл будет скопирован полностью. В конце файла есть трейлер. Итак, мне просто нужно проверить, есть ли трейлер в конце скопированного файла или нет. Является ли это возможным?WSO2 ESB. Передача файла с проверкой трейлера

Моего esb_configuration.xml

<proxy name="proxy_name" transports="vfs" startOnLoad="true" trace="disable"> 
    <parameter name="transport.vfs.Streaming">true</parameter> 
    <parameter name="transport.PollInterval">180</parameter> 
    <parameter name="transport.vfs.ActionAfterProcess">DELETE</parameter> 
    <parameter name="transport.vfs.FileURI">vfs:file:///path/to/file</parameter> 
    <parameter name="transport.vfs.ActionAfterErrors">DELETE</parameter> 
    <parameter name="transport.vfs.FileNamePattern">^FILE_MASK$</parameter> 
    <parameter name="transport.vfs.ContentType">application/octet-stream</parameter> 
    <parameter name="transport.vfs.ActionAfterFailure">DELETE</parameter> 
</proxy> 

ответ

0

AFAIK, Poll Interval не влияет на файлы, которые передаются, он просто выступает в качестве планировщика для транспортного приемника опрашивать файл URI местоположение. Вы уверены, что файл не был полностью скопирован из-за меньшего интервала опроса?

Я не думаю, что есть какие-либо способы проверки записи трейлера с использованием параметров VFS. Возможно, вы можете использовать transport.vfs.MaxRetryCount для повторной попытки в случае каких-либо сбоев, вы можете увидеть полный список параметров уровня обслуживания VFS [1].

[1] - https://docs.wso2.com/display/ESB481/VFS+Transport#VFSTransport-parametersVFSservice-levelparameters