我需要轮询目录并使用case insentive表达式缩小文件范围。
对于版本2.10,camel添加了对antInclude的支持,这是我所看到的,不幸的是antInclude区分大小写,其他过滤表达式也是如此。实现GenericFileFilter不是一个选项,因为过滤模式在编译时是未知的,因为我在运行时从数据库中读取它们,并且我有多个文件规则,每个规则都有不同的模式。
我以编程方式在循环中创建多个路由,其中每个文件路由具有不同的不区分大小写的过滤模式。如果camel文件组件支持不区分大小写的表达式,或者有没有其他方法而不在camel中创建自己的新文件组件,我将不胜感激?
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.
}
}
答案 0 :(得分:0)