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