-1

私は2つのルートを持っています:

最初:

....
.to("file://" + REST_FILES + "?fileName=${header.filename}");

2番目:

from("file://" + REST_FILES + "?idempotent=true")
....

しかし、同じファイルを繰り返し転送しようとすると、キャメルはファイルをルーティングしません。

ファイルが次のパイプラインに渡されない場合、場所(コールバックなど)が必要です。どうすれば達成できますか?

PS

私は書いてみました:

 .to("file://" + REST_FILES + "?fileName=${header.filename}")
       .otherwise().process(new Processor() {
            @Override
            public void process(Exchange exchange) throws Exception {
                logger.info("{}",exchange);
            }
        });

しかし、それは呼び出しません

4

1 に答える 1

0

あなたが言うようidempontent=trueにそれを行うことはできません。つまり、同じ名前のファイルを再度ピックアップすることはありません(たとえば、重複しています)。

ファイルがそのディレクトリにしばらく留まるかどうかを確認するだけでテストできます。たとえば、ファイル コンシューマーはファイルを取得しません。ファイルがそこに残っている場合は、重複しています。

于 2017-11-03T12:38:27.677 に答える