2017-06-19 180 views
0

我在Apache camel中有一个新的需求,那就是我需要从FTP位置读取一个文件,该位置包含文件名称在同一个FTP位置的另一个文件。 所以我需要读取第一个文件获取文件名并读取第二个文件名。我们如何在Apache骆驼中实现?使用Apache Camel FTP位置读取文件

+0

你有什么想达到这个目的? –

+0

我想下面的选项,但如何从文件1文件名2是从问题(“FTP://服务器” +“密码=密码” +“&antInclude =文件名”) \t \t \t \t \t \t .process(新处理器(){ \t \t \t公共无效处理(交易交换)抛出异常{ \t \t \t exchange.getIn()setBody(exchange.getIn()getBody(),String.class);。\t \t \t \t \t \t} \t \t \t}) \t \t \t \t \t \t。从(FTP://服务器 “+” 密码=密码 “+” &antInclude = filename_2" ) – Raj

+0

我认为你需要重新复习基础知识。路由1应该获取文件,提取主体并将其设置在交换属性或标题中,然后调用路由2,查看存储文件正文的位置并执行ftp提取。 –

回答

0

您可以编写一个简单的FTP路由,使用第一个文件(包含目标文件名)。一旦这个文件被读取,你可以将内容转发到一个route builder,在那里你建立另一个FTP路由,它将消耗目标文件。

您可以使用FTP component include option指定要使用的文件名称的模式。

+0

我在下面的选项尝试,但如何从以前的文件中获取文件名。 {从( “FTP://服务器” + “密码=密码” + “&antInclude =文件名”) \t \t \t \t \t \t .process(新处理器(){ \t \t \t公共无效处理(交换交换)抛出异常{ \t \t \t exchange.getIn()setBody(exchange.getIn(。)getBody(),String.class); \t \t \t \t \t \t} \t \t \t}) \t \t \t \t \t \t。从(FTP://服务器 “+” 密码=密码 “+” &antInclude = filename_2" )} – Raj