【问题标题】:i want to read FTP file using apache camel我想使用 apache camel 读取 FTP 文件
【发布时间】:2016-11-09 00:02:50
【问题描述】:

我想使用 Apache camel 读取 FTP 文件,但我的要求是选择 4-5 个文件周围的所有文件并处理它们,但我的问题是我如何才能只为特定日期选择文件,例如我想选择所有今天创建的文件离开昨天的文件。

如何编写代码以使用 apache camel 从 FTP 中选择文件并过滤日期

【问题讨论】:

    标签: apache-camel


    【解决方案1】:

    你可以实现你的自定义过滤器并让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&amp;filter=#dateFilter")
       .to("somedestination")
    

    文档here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-09
      • 2014-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多