Apache Camel设置文件扩展名

时间:2015-05-07 10:39:25

标签: apache-camel

我从HTTP POST主体获取xml列表,然后尝试将其作为XML文档保存在文件系统上。不幸的是,Camel不会自动提供文件扩展名,并且没有它就保存文件,所以我无法在我的XML查看器中打开它。另外,我想保留自动生成的文件名(例如 ID-my_PC_name-some_strange_numbers )以避免文件覆盖或数据丢失。阅读有关Camel Simple语言的文章后仍然没有运气。任何帮助赞赏。这是我的配置:

.from("jetty:http://localhost:4422/input")
      .to("direct:fileCopy");

 .from("direct:fileCopy")
       //here I want to set file extension to .xml
       .to("file:D:/inprogress")
       .log("Incoming file saved to Inprogress directory");

1 个答案:

答案 0 :(得分:4)

您可以使用选项filename来设置要生成的文件的模式。

.from("direct:fileCopy")
       .to("file:D:/inprogress?filename=mydata-${date:now:yyyyMMdd}.xml
")

将生成文件mydata-20150303.xml

如果您想使用消息ID,这是您可以

交换的唯一ID
.from("direct:fileCopy")
           .to("file:D:/inprogress?filename=mydata-${id}.xml
    ") 

将生成文件mydata-SOME_RANDOM_ALPHANUMERIC_ID.xml

Apache Camel File Copy