Apache camel 在camel配置中读取属性文件值

Apache camel 在camel配置中读取属性文件值,apache-camel,Apache Camel,我在camel.config中定义了以下路由 <choice> <when> <simple>${BROADBAND_DN_RBSID_SWITCH} == 'DN'</simple> <to uri="bean:bbGetServiceProfileProcessorByDN"/> </when> </choice> 不能在简单语言中使用${xxx}来引

我在camel.config中定义了以下路由

<choice>
    <when>
        <simple>${BROADBAND_DN_RBSID_SWITCH} == 'DN'</simple>
            <to uri="bean:bbGetServiceProfileProcessorByDN"/>
    </when>
</choice>

不能在简单语言中使用
${xxx}
来引用属性占位符。而是使用其
属性
功能:

 <simple>${properties:BROADBAND_DN_RBSID_SWITCH} == 'DN'</simple>
${properties:BROADBAND\u DN\u RBSID\u SWITCH}=='DN'
更多信息请参见文档:

其他可能的解决方案: 您可以将骆驼上下文的属性持有者定义为:

<camelContext id="my-camel-context">
    <propertyPlaceholder
        location="file:${config.path}/my.properties" id="properties" />

请注意,在这个级别上,您可以使用常规Spring或System的其他属性(即${config.path})

然后在路由中,您可以使用{{{符号作为

 <simple>{{BROADBAND_DN_RBSID_SWITCH}} == 'DN'</simple>
{{BROADBAND\u DN\u RBSID\u SWITCH}}=='DN'
与常规弹簧propertyPlaceholder相比,Camel propertyPlaceholder有一些局限性,但就文件而言,它工作得很好

 <simple>{{BROADBAND_DN_RBSID_SWITCH}} == 'DN'</simple>