我想使用Apache camel读取FTP文件,但是我的要求是选择大约4-5个文件并处理它们,但是我的问题是,如何只为特定日期选择文件,我想选择今天创建的所有文件,离开昨天的文件。
如何编写代码,使用带日期过滤的apache camel从FTP中提取文件
发布于 2016-11-08 16:02:50
您可以实现自定义筛选器,并要求camel只处理满足筛选器要求的文件。
例:
public class DateFilter<T> implements GenericFileFilter<T> {
public boolean accept(GenericFile<T> file) {
Calendar c = Calendar.getInstance();
c.set(Calendar.HOUR_OF_DAY, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
long todayInMillis = c.getTimeInMillis();
return file.getLastModified() >= todayInMillis;
}
}将FileFilter定义为bean
<bean id="dateFilter" class="com.something.DateFilter"/>在您的路线中使用上面的过滤器
from("ftp://someuser@someftpserver.com?password=secret&filter=#dateFilter")
.to("somedestination")文档这里
https://stackoverflow.com/questions/40486693
复制相似问题