0

キャメルでsftpサーバーから特定のファイルリストをダウンロードしてからサービスをシャットダウンできますか?これはよくある質問であるべきですが、コンテキストが停止するのを待たずにそれを行う方法を理解することはできません。

何らかの方法で、ラクダはデータの整合性を確保できますか?

4

3 に答える 3

1

直接ルート、 pollEnrich、およびテンプレートを使用して、このようなことができると思います

from("direct:grabOneFile")
   .pollEnrich("sftp://somewhere/blah/blah?fileName=foobar");

次に、どこかの Java コードからキャメル テンプレートを取得し、「direct:grabOneFile ルートを呼び出します。

String ret = template.requestBody("direct:grabOneFile","",String.class);

この場合、camel コンテキストをいつシャットダウンするかについて心配する必要はありません。複数のファイルが存在する可能性などがあります。

于 2013-03-23T06:17:26.667 に答える
0

Camel ftp コンポーネントは、ディレクトリのみをポーリングできます。次のように、maxMessagesPerPoll と fileName の組み合わせを使用できます。

from("ftp://.../xyz?maxMessagesPerPoll=x&fileName=y");

こちらもご覧ください。

このリンクには、シャットダウンに関する例があります。

于 2013-03-22T17:59:16.387 に答える
0

Camel FTPページの下部でこれを確認しましたか。

于 2015-01-05T15:24:11.427 に答える