首页 > 解决方案 > Camel 属性占位符布尔值

问题描述

我的属性文件中有一个属性:

glob.dev_environment=true

或者

glob.dev_environment=false

现在我尝试了以下方法:

<route id="emailMonitor" autoStartup="${!glob.dev_environment}">
    <from uri="{{imapURL}}" />
    <bean ref="attachmentProcessor"/>
</route>  

<route id="emailMonitor" autoStartup="${not glob.dev_environment}">
    <from uri="{{imapURL}}" />
    <bean ref="attachmentProcessor"/>
</route>  

<route id="emailMonitor" autoStartup="{{!glob.dev_environment}}">
    <from uri="{{imapURL}}" />
    <bean ref="attachmentProcessor"/>
</route>  

<route id="emailMonitor" autoStartup="{{not glob.dev_environment}}">
    <from uri="{{imapURL}}" />
    <bean ref="attachmentProcessor"/>
</route>  

<route id="emailMonitor" autoStartup="{{glob.dev_environment == 'false'}}">
    <from uri="{{imapURL}}" />
    <bean ref="attachmentProcessor"/>
</route>  

<route id="emailMonitor" prop:autoStartup="!glob.dev_environment">
    <from uri="{{imapURL}}" />
    <bean ref="attachmentProcessor"/>
</route>  

我在这里有点疯了。如何让它评估 XML DSL 中的布尔值?是的,我已经阅读了本节本节。我敢打赌,更改为glob.prod_environment会使这更容易,因为 XML DSL 可能无法处理布尔操作。我对吗?这是怎么回事?

标签: javaspringapache-camel

解决方案


根据上面的评论...

Camel 属性值否定仅适用于 v3.x。prop: 前缀似乎也不适用于 v2.x。

解决方法是使用不需要否定的属性。


推荐阅读