是否可以使用camel循环文本文件来创建路由?

时间:2015-12-18 16:58:28

标签: java apache-camel

骆驼自己很新。 现在我正在将文件从FTP路由到HDFS。该文本文件包含必须从该FTP路由到HDFS的其他文件的列表。此文本文件每天更新​​,包含要移动的新文件。 我正在使用bean将文本文件解析为列表并清理它,以便它具有确切的文件路径。现在我的问题是,我可以创建一个循环来遍历此列表并为每个文件创建一个新路由吗? P.S对java也不太好,所以不要笑太多。

public class DailyDownloader {
public List<String> splitDaily(String body) throws IOException
{
    System.out.println("Printing Download List");


    BufferedReader bufReader = new BufferedReader(new StringReader(body));
    String line=null;
    bufReader.readLine();
    List<String> dailyFilesList = new ArrayList<String>();
    while( (line=bufReader.readLine()) != null )
    {
        String fileName = line.split("\\|", 2)[0];

        dailyFilesList.add(fileName);

    }
    System.out.println(dailyFilesList);
    return dailyFilesList;

}

上面的列表返回如下内容: / camelfiles / file1的

/camelfiles/abc/file123.txt

/maven/settings.xml

等。

谢谢!

1 个答案:

答案 0 :(得分:1)

我可能会这样解决:

  1. 获取文件并解析文件的一种途径。
  2. 对于每个文件名,将文件路径发送到另一个路由。您可以通过某些事件总线(如ActiveMQ)或内部直接
  3. 执行此操作
  4. 此路由从FTP站点获取文件并将其保存在某处。
  5. 无需为文件启动新路由。您只需将问题分成单独的组件即可。