1

私のftpにはいくつかのフォルダがあります:

/csv
/xml
/processed
/....

file.csv から file.done に処理された後、各ファイルの名前を変更して移動し、処理済みフォルダーに移動するにはどうすればよいですか? 「from」に大量のパラメーターを追加したり、onCompletion に何かを追加したり、ファイルを移動するためのルートをいくつか追加したりするなど、多くのオプションを試しました。すべてのプレースホルダーには正しい値が含まれており、Spring によって処理されます。

<route>
            <from uri="ftp://{{ftp.user}}@{{ftp.server}}/{{inbound.csv}}?password={{ftp.pass}}&amp;binary=true&amp;include=.*csv"/>
            <onCompletion onCompleteOnly="true">
                <to uri="ftp://{{ftp.user}}@{{ftp.server}}/{{outbound.csv}}?password={{ftp.pass}}&amp;doneFileName=${file:name}.done"/>
            </onCompletion>
            <delay>
                <constant>15000</constant>
            </delay>
            <unmarshal><csv/></unmarshal>
            <to uri="bean:cSVHandler?method=process"/>
        </route>

助けてください。

4

2 に答える 2

4

処理後にファイルを移動/名前変更する移動オプションを使用します。

<from uri="ftp://{{ftp.user}}@{{ftp.server}}/{{inbound.csv}}
      ?password={{ftp.pass}}&amp;binary=true&amp;include=.*csv
      &amp;move=../processed"/>

ファイルを ../processed ディレクトリに移動します。

移動オプションの詳細については、http://camel.apache.org/file2を参照してください。

于 2013-11-11T12:03:12.450 に答える