在 ActiveMQ 中,我浏览我的“帐户”。当我点击它时,我可以看到不同的消息有一个消息 ID,“My-computername-some-numbers”(我认为它们是由 ActiveMQ 设置的)。
我希望camel从队列中读取数据并将数据写入名为“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");
最佳答案
如果您想在文件名中使用 JMS 消息 ID,则可以使用 fileName=${id}.xml
fileName
选项支持您可以使用的简单语言语法:http://camel.apache.org/simple
要获得更高级的命名,请使用您想要的名称设置 CamelFileName
header ,或者查看使用动态。然而,如果您有无限的动态值,则后者不太理想,因为这会为每个唯一值创建新的端点 - 这不太好。最好使用 fileName
或 CamelFileName
header 。
关于java - Camel .to 文件扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46889954/