使用Bean组件处理Camel消息

时间:2015-07-21 09:16:59

标签: java jboss apache-camel

我有一个带有FTP和Bean组件的Camel路由来处理消息。此消息是FTP上的文件,我想获取处理的每个文件的文件名。我知道如何获取带参数String的文件,但后来我无法获取文件名。谢谢你的回答。

1 个答案:

答案 0 :(得分:1)

Camel FTP组件扩展了File组件,File Component在使用文件时添加了以下标题:

  • CamelFileName:消耗文件的名称,作为相对文件路径,与端点上配置的起始目录相比具有偏移量。
  • CamelFileNameOnly:仅文件名(没有前导路径的名称)。

您可以在File2 documentation page“仅文件消费者”部分查看其他可用的标题。

在bean方法中,您可以使用@Simple注释将特定标头作为参数传递,并为其指定值"header.<header name>"。例如:

public void processFile(@Body String fileContent, @Simple("header.CamelFileNameOnly") String fileName){
  // your method implementation
}