2016-05-16 6 views
0

Ich habe einen FTP-Ausgang definiert, um eine Datei in einen Archivordner zu verschieben. Die Datei wird archiviert, aber nie vom Quellspeicherort gelöscht. Aus diesem Grund werden die gleichen Dateien immer wieder neu verarbeitet. Irgendwelche Ideen, warum es nicht vom Quellort entfernt ???MULE :: Datei kann nicht an einem FTP-Speicherort archiviert/gelöscht werden

<ftp:connector name="ftp-inbound" pollingFrequency="90000" validateConnections="true" doc:name="FTP"/> 
<ftp:connector name="ftp-outbound" pollingFrequency="200000" validateConnections="true" doc:name="FTP"/> 

<flow name="ftp_import_flow" processingStrategy="synchronous"> 
    <ftp:inbound-endpoint host="localhost" port="21" responseTimeout="100000" doc:name="FTP" connector-ref="ftp-inbound" password="test123" path="/ftpSource/" user="admin"> 
     <file:filename-regex-filter pattern="*.csv" caseSensitive="true"/> 
     <set-variable variableName="originalFileName" value="#[message.inboundProperties.originalFilename]" doc:name="Variable"/> 
     <logger message="FileName: #[originalFileName]" level="INFO" doc:name="Logger"/> 
     <reconnect frequency="100000" count="2"/> 
    </ftp:inbound-endpoint> 

    <byte-array-to-string-transformer name="byte_array_to_string" doc:name="Byte Array to String"/> 

    <ftp:outbound-endpoint host="localhost" port="21" connector-ref="ftp-outbound" 
      responseTimeout="10000" doc:name="FTP" password="test123" path="/ftpSource/archive/" user="admin"> 
     <reconnect frequency="100000" count="2"></reconnect> 
    </ftp:outbound-endpoint> 

    <logger message="#[message]" level="DEBUG" category="ftp_flow" doc:name="Logger"></logger> 

    <scripting:component doc:name="ftp"> 
     <scripting:script engine="Groovy" file="file.groovy"></scripting:script> 
    </scripting:component> 

    <logger message="#[payload]" level="DEBUG" doc:name="Logger" category="ftp_flow" /> 

    <foreach doc:name="For Each"> 
     <flow-ref name="insert_mysql_flow" doc:name="insert_mysql_flow" /> 
    </foreach> 

    <logger message="File Process Successful" level="INFO" category="ftp_flow" doc:name="Log completion"/> 


</flow> 
+0

Welche Version von mule-Server verwenden Sie? –

Antwort

0

Sie können die Option "Dateien nach der Verarbeitung löschen" auf der Registerkarte Erweitert im FTP-Inbound-Connector versuchen.

enter image description here

+0

Dies funktioniert für Dateien mit einer kleineren Datensatzanzahl wie 1000 Zeilen. Aber wenn die Datei mehr als 2000 Zeilen hat, wird die Datei nie gelöscht und ich sehe die Ausnahme "FTP-Antwort 421 empfangen. Server geschlossen Verbindung." – Srini

+0

Nebenbei habe ich die "Dateien nach der Verarbeitung löschen" für ftp: outbound-endpoint gesetzt, wo ich die Datei archiviere. Wenn ich dies eintreffe, wird es archiviert und gelöscht, noch bevor die Datensätze verarbeitet werden. – Srini