0

ディレクトリをポーリングし、大文字と小文字を区別しない式でファイルを絞り込む必要があります。

バージョン 2.10 では、camel に antInclude のサポートが追加されました。これは私が調べたものですが、残念ながら antInclude は大文字と小文字が区別され、他のフィルタリング式も同様です。GenericFileFilter の実装はオプションではありません。実行時にデータベースからフィルター パターンを読み取るため、コンパイル時にフィルター パターンがわからず、それぞれ異なるパターンを持つ複数のファイル ルールがあるためです。

ループ内に複数のルートをプログラムで作成します。各ファイル ルートには、大文字と小文字を区別しない異なるフィルタリング パターンがあります。キャメルファイルコンポーネントが大文字と小文字を区別しない式をサポートしているかどうか、またはキャメルで新しいファイルコンポーネントを作成せずに他の方法はありますか?

public class MyRouter extends RouteBuilder {

@Override
public void configure() throws Exception {
    Vector<FileTransferEntity> list = TransferDAO.getTransferList();
    for(FileTransferEntity t : list) {
        fromF("ftp://ftpuser@ftpserver/some-directory?antInclude=%s", t.getFileMask()).
        toF("mock:result");//depending on t, action will change.
    }
}
4

1 に答える 1

0

代わりにカスタムフィルターを使用できるはずです...情報についてはcamel-file2を参照するか、この例を参照してください...

https://svn.apache.org/repos/asf/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileFilterTest.java

于 2012-01-26T19:02:35.213 に答える