1

FTPからファイルをダウンロードしています。定義されたパターンまたは定義された名前のファイルをダウンロードして渡し、これらのファイルを Java で処理することができます。

私が直面している問題は、毎週新しいファイルをダウンロードする必要があることです。ファイル名は のようなもの"constant-prefix-2013-W51.zip"です。私の現在の XML は次のようなものです。

<ftp:inbound-endpoint 
    host="${ftp.host}" 
    port="${ftp.port}" 
    path="${ftp.pathInbound}" 
    user="${ftp.user}" 
    password="${ftp.password}" 
    responseTimeout="10000" 
    doc:name="KBB_FTP" >

    <file:filename-wildcard-filter pattern="MyFile-2013-W51.zip"/>

</ftp:inbound-endpoint>

フロー リファレンス: Mule: Mule ESB で FTP から Java クラスにファイルを渡す方法は?

このコードは、要求されたファイルを正常にダウンロードします。yearしかし、ファイルパターンにandweek値を動的に追加する必要があります。

次のパターンを試しましたが、成功しませんでした。

 1. pattern="MyFile-2013-W#[server.dateTime.weekOfYear].zip" 

 2. pattern="MyFile-2013-W${server.dateTime.weekOfYear}.zip"

ファイルで定義されているプロパティではないため、2 番目のパターンは完全に間違っていることはわかってい.propertiesます。また、このように mule-app.properties にプロパティを追加しました

 calendar.weekOfYear=#[server.dateTime.weekOfYear]

次のパターンを使用しました。

 3. pattern="MyFile-2013-W${calendar.weekOfYear}.zip"

2013この方法はどれも機能していません。年の値と週の値を51動的に追加したいのですが、どのような場合でも発生していません。fileName に追加される値は、任意の数字ではなく、文字列パターンの上にのみあります..

4

2 に答える 2

1

file:filename-wildcard-filterMEL 式をサポートしていません。expression-filter代わりに、次のように使用します。

<message-filter throwOnUnaccepted="false">
    <expression-filter
        expression="#[message.outboundProperties.originalFilename == 'MyFile-2013-W'+server.dateTime.weekOfYear+'.zip']" />
</message-filter>
于 2013-12-20T15:29:23.807 に答える
0

式フィルター #[server.dateTime.getWeekOfYear()].zip を使用すると、この式を使用して時刻形式をカスタマイズできます。

于 2015-05-28T09:08:53.117 に答える