2016-05-16 19 views
0

ファイルをアーカイブフォルダに移動するためにFTP送信を定義しましたが、ファイルはアーカイブされますが、ソースの場所からは削除されません。このため、同じファイルが何度も繰り返し処理されています。すべてのアイデア理由は、ソースの場所から削除していない???MULE :: FTPの場所でファイルをアーカイブ/削除できません

<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

どのようなバージョンのMuleサーバーを使用していますか? –

答えて

0

FTPインバウンドコネクタの[詳細設定]タブの[処理後のファイルを削除する]オプションを試してみるとよいでしょう。

enter image description here

+0

これは、レコード数が1000行ほど少ないファイルに対して有効です。しかし、ファイルが2000以上の行を持っている場合、ファイルは決して削除されず、「FTP応答421が受信されました。サーバーが接続を閉じました」という例外が表示されます。 – Srini

+0

ちなみに、ファイルをアーカイブするftp:outbound-endpointの "処理後のファイルの削除"を設定しました。このインバウンドを行うと、レコードが処理される前にアーカイブされ、削除されます。 – Srini

関連する問題