是否可以用骆驼遍历文本文件来创建路由?
Is it possible to loop through a text file with camel to create routes?
我自己对 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;
}
上面的列表 returns 类似于:
/camelfiles/file1
/camelfiles/abc/file123.txt
/maven/settings.xml
等..
谢谢!
我可能会这样解决:
- 获取文件并解析它的一种途径。
- 对于每个文件名,将文件路径发送到另一条路径。您可以通过一些事件总线(如 ActiveMQ)或通过 direct
在内部执行此操作
- 此路径从 FTP 站点获取文件并将其保存在某处。
无需为文件启动新路径。你只需要将问题分解成不同的部分。
我自己对 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;
}
上面的列表 returns 类似于: /camelfiles/file1
/camelfiles/abc/file123.txt
/maven/settings.xml
等..
谢谢!
我可能会这样解决:
- 获取文件并解析它的一种途径。
- 对于每个文件名,将文件路径发送到另一条路径。您可以通过一些事件总线(如 ActiveMQ)或通过 direct 在内部执行此操作
- 此路径从 FTP 站点获取文件并将其保存在某处。
无需为文件启动新路径。你只需要将问题分解成不同的部分。