我从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");
答案 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