Apache camel 版本>;中ToDefinition的Apache Camel getUri=2.16.0

Apache camel 版本>;中ToDefinition的Apache Camel getUri=2.16.0,apache-camel,Apache Camel,我已经升级了我的camel版本,2.16.0版本之前的一些功能现在被破坏了,我曾经能够获取替换占位符的toDefinition的URI,刚刚升级,现在不再替换占位符 代码示例如下所示: <propertyPlaceholder id="properties" location="config.properties" /> <route> <from uri="direct:input" /> <to uri="mq:qu

我已经升级了我的camel版本,2.16.0版本之前的一些功能现在被破坏了,我曾经能够获取替换占位符的toDefinition的URI,刚刚升级,现在不再替换占位符

代码示例如下所示:

<propertyPlaceholder id="properties" location="config.properties" />

<route>
        <from uri="direct:input" />
        <to uri="mq:queue:{{MY_PLACEHOLDER}}" />
</route>
骆驼版本2.15.5

toDefinition.getUri() // equals mq:queue:FOO
骆驼2.16.0版

toDefinition.getUri() // equals mq:queue:{{MY_PLACEHOLDER}}

有什么想法吗?

是的,这就是它的意图。模型是设计时的模型(在本例中为占位符值)

解析的uri是在启动和运行路由时生成的。因此,您可以获取该uri,并要求Camel解析,CamelContext上有一个API用于该
resolvePropertyPlaceholders


还要确保您的Camel版本正确,它不是15.5或16.0,而是2.16.0、2.15.5等版本。
toDefinition.getUri() // equals mq:queue:{{MY_PLACEHOLDER}}