我需要轮询目录并使用不区分大小写的表达式缩小文件范围。
在 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.
}
}