2012-01-26 13 views
0

私はディレクトリをポーリングし、大文字と小文字を区別した表現でファイルを絞り込む必要があります。apache-camel file2 antInclude ignore-case

バージョン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://[email protected]/some-directory?antInclude=%s", t.getFileMask()). 
     toF("mock:result");//depending on t, action will change. 
    } 
} 
+0

は、なぜあなたはラクダに改善としてこれを報告していけません@ユーザーのメーリングリスト、またはCamel JIRAトラッカーのJIRAチケットとして入手できます。 antIncludeに大文字小文字を区別させることは可能であると確信しています。 –

+0

thx、https://issues.apache.org/jira/browse/CAMEL-4963 – serdar

答えて

0

...代わりに、カスタムフィルタを使用した情報のためのcamel-file2を参照するか、この例を見ることができるはず...

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

+0

thx bodayが追加されましたが、データベースからフィルタを読み込むためカスタムフィルタを使用できません。フィルタをルートと関連付ける方法はありません。 – serdar

関連する問題