2016-05-30 10 views
1

Mein WSO2 ESB muss große Dateien (> 100 MB) von einem Verzeichnis in ein anderes kopieren. Früher, als pollInterval 5 Sekunden lang war, wurde eine Datei nicht vollständig kopiert. Ich setze pollInterval auf 180 Sekunden und alles ist jetzt in Ordnung. Aber ich brauche eine Garantie, dass die Datei komplett kopiert wird. Am Ende der Datei befindet sich ein Trailer. Also, ich muss nur nachschauen, ob am Ende der kopierten Datei ein Trailer steht oder nicht. Ist es möglich?WSO2 ESB. Dateiübertragung mit Trailerprüfung

Mein 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> 

Antwort

0

AFAIK, Poll-Intervall hat keinen Einfluss auf die Dateien, die übertragen werden, wirkt es nur als Planer für den Transport-Empfänger die Datei URI-Adresse abzufragen. Sind Sie sicher, dass die Datei nicht komplett kopiert wurde, weil das Pollintervall weniger ist?

Ich glaube nicht, dass es Möglichkeiten gibt, den Trailer-Datensatz mit den VFS-Parametern zu überprüfen. Vielleicht können Sie transport.vfs.MaxRetryCount verwenden, um bei Fehlern erneut zu versuchen, Sie können die vollständige Liste der VFS-Service-Level-Parameter [1] sehen.

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