在ActiveMQ中,我浏览了我的“帐号”。当我点击它时,我可以看到不同的消息有一个消息ID,“My-computername-some-numbers”(我认为它们是由ActiveMQ设置的)。
我希望camel从que中读取并将数据写入名为“My-computername-some-numbers.xml”的文件中。现在我的输出文件只是“.xml”。
我的代码:
from("jms:accounting")
.log("### Read jms:accounting ###")
.to("file:src/main/resources/data/work_in_progress?fileName=${file:name.noext}.xml");
答案 0 :(得分:1)
如果要在文件名中使用JMS消息ID,则可以使用obj
fileName=${id}.xml
选项支持您可以使用的简单语言语法:http://camel.apache.org/simple
要获得更高级的命名,请将fileName
标头设置为您想要的名称,或者使用动态来设置。然而,如果您拥有无限的动态值,后者就不太理想,因为每个唯一值会创建新的端点 - 这不是那么好。最好使用CamelFileName
或fileName
标题。