【发布时间】:2013-09-23 12:39:34
【问题描述】:
这似乎应该很简单,请原谅双关语。我正在尝试在 spring DSL 路由中记录骆驼的标头。我已经看到了Java DSL 的答案,但我一直在徒劳地寻找如何让它在 Spring DSL 中工作。我试过了:
<log message="ftping $simple{header.CamelFileName}"/>
还有:
<log message="ftping ${header.CamelFileName}"/>
和其他几个排列/变体,但它们都只是逐字记录该文本(即它们不替换实际的标题名称)。
我错过了什么?
更新:这是我的 xml 文件的较大部分:
<split>
<simple>${body}</simple>
<setHeader headerName="CamelFileName">
<simple>${body.batchNumber}.xml</simple>
</setHeader>
<log message="SLH - 5 -- marshalling an EFileBatch to XML" loggingLevel="DEBUG" />
<marshal>
<jaxb prettyPrint="true" contextPath="generated.gov.nmcourts.ecitation"
partClass="generated.gov.nmcourts.ecitation.NMCitationEFileBatch"
partNamespace="EFileBatch" />
</marshal>
<log message="SLH - 6 -- xslt transform to add schema location" loggingLevel="DEBUG" />
<to uri="{{addSchemaLocationXsltUri}}"/>
<log message="SLH - 7 -- ftp now initiating" loggingLevel="DEBUG" />
<log message="ftping ${headers.CamelFileName}"/>
<to uri="{{ftpOdysseyInputPath}}"/>
<log message="SLH - 8 -- ftp now complete" loggingLevel="DEBUG" />
</split>
【问题讨论】:
-
你用的是什么 Camel 版本?
-
使用骆驼2.11.1——我怀疑这是因为我使用骆驼和弹簧属性(两者)的事实?我可以使用 #{springprops['tylerAgency']} 等语法来引用我的 spring 道具,我可以使用 {{ftpOdysseyInputPath}} 等语法来引用我的骆驼道具。也许弹簧道具的使用使这成为一个问题,我已经阅读了各种骆驼/弹簧属性文档,但也许我遗漏了一些东西。
标签: java apache-camel