我使用文件端点来监控文件的更改。
如果我写的话,一切正常:
<camelContext>
<route>
<from uri="file:/my/path?fileName=myFilename.txt&noop=true&idempotentKey=${file:name}-${file:modified}" />
<log message="Received file: ${header.CamelFilePath} (${header.CamelFileLastModified})" />
<to uri="direct:result" />
</route>
</camelContext>
但是,如果我更改代码以使用Spring属性,因此创建<endpoint>
,它就不再起作用了。
<camelContext>
<endpoint id="fileEndpoint"
uri="file://${ids.log.dir}?fileName=${ids.log.file}&noop=true&idempotentKey=${file:name}-${file:modified}" />
<route id="fileRoute">
<from ref="fileEndpoint" />
<log message="Received file: ${header.CamelFilePath} (${header.CamelFileLastModified})" />
<to uri="direct:result" />
</route>
</camelContext>
我想${}
符号存在问题,${file:...}
占位符过早扩展。
如何解决此问题? (我将使用Spring属性,而不是Camel&#39; s。有没有办法逃脱$
?
答案 0 :(得分:1)
Camel属性占位符使用{{
和}}
样式。
这个FAQ: