2017-01-24 8 views
0

Muleを使用してCSVファイルを1つのリモートディレクトリからサーバ上の別のディレクトリに移動してアーカイブすることを検討しています。たとえば、次のように移動します。 /record/report.csvを/archive/reports/report_04_09_2015.csvに変更します。ミュールで可能ですか?重要な点を明確にするだけで、ディレクトリはローカルサーバー上になく、別のサーバーにあります。このプロセスには少なくともftpが必要ですMule ESB:リモートのCSVファイルを別のディレクトリに移動する

+1

はい、それはあなたが正しいネットワーク –

答えて

0

ファイルインバウンドエンドポイントを使用し、moveToPattern属性とmoveToDir属性を構成できます。以下の例では、ファイルinboundは入力フォルダーからファイルを読み取り、指定された名前パターンのmoveToPatternでoutputDirに移動します。ファイルをstringに変換して、ファイルが入力ディレクトリから削除されていることを確認します。

<flow name="MoveFile"> 
     <file:inbound-endpoint path="input" moveToPattern="#[message.inboundProperties.originalFilename + '_' + server.dateTime.format('dd_MM_yyyy')]" moveToDirectory="archiveDir" responseTimeout="10000" doc:name="File"/> 
     <file:file-to-string-transformer doc:name="File to String"/> 
     <logger message="File Moved" level="INFO" doc:name="Logger"/> 
    </flow> 

サーバーがネットワークに接続されていない場合は、FTPも使用できます。 moveToディレクトリやパターンを設定するには、FTPコネクタを設定 -

<ftp:connector name="FTP" pollingFrequency="1000" validateConnections="true" moveToDirectory="/archive/reports/" moveToPattern="#[message.inboundProperties.originalFilename + '_' + server.dateTime.format('dd_MM_yyyy')]" doc:name="FTP"/> 
<flow name="testFlow24"> 
     <ftp:inbound-endpoint host="localhost" port="21" path="/record/" connector-ref="FTP" responseTimeout="10000" doc:name="FTP"> 
      <file:filename-regex-filter pattern="report.csv"/> 
     </ftp:inbound-endpoint> 
</flow> 
+0

可能ですが、私はFTPを使用して表示する答えを更新しました。 – BreenDeen

+0

外のリモートサーバへのファイルコネクタを使用することはできません –

関連する問題