Apache Camel 设置文件扩展名
Apache Camel set file extension
我从 HTTP POST 正文中获取 xml 列表,然后尝试将其保存为文件系统上的 XML 文档。不幸的是,Camel 不会自动提供文件扩展名,文件在没有它的情况下保存,所以我无法在我的 XML-viewer 中打开它。此外,我想保留自动生成的文件名(如 ID-my_PC_name-some_strange_numbers)以避免文件覆盖或数据丢失。在阅读了有关 Camel 简单语言的文章后,仍然没有运气。任何帮助表示赞赏。这是我的配置:
.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");
您可以使用选项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
我从 HTTP POST 正文中获取 xml 列表,然后尝试将其保存为文件系统上的 XML 文档。不幸的是,Camel 不会自动提供文件扩展名,文件在没有它的情况下保存,所以我无法在我的 XML-viewer 中打开它。此外,我想保留自动生成的文件名(如 ID-my_PC_name-some_strange_numbers)以避免文件覆盖或数据丢失。在阅读了有关 Camel 简单语言的文章后,仍然没有运气。任何帮助表示赞赏。这是我的配置:
.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");
您可以使用选项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