使用属性占位符来决定路由和驼峰上下文

时间:2012-05-10 18:29:38

标签: jvm apache-camel jvm-arguments

有什么方法可以根据属性值对Camel上下文或路由进行分组?

我将我的环境定义为-Denv =“preprod”,我想基于此分组/决定路由和上下文。例如:
对于开发环境:

<camel:route id="foo" >
        <camel:from uri="seda:start"/>
        <camel:to uri="mock:result"/>
    </camel:route>

生产:

<camel:route id="foo" >
            <camel:from uri="seda:start"/>
            <camel:to uri="jmsqueue:result"/>
        </camel:route>

我正在使用Spring Application Context来声明Camel Contexts

2 个答案:

答案 0 :(得分:1)

您提到使用Spring然后可以使用spring属性占位符,并且每个环境都有不同的.properties文件。然后将端点定义为<endpoint>并在路由中引用这些端点。请参阅此常见问题解答:http://camel.apache.org/how-do-i-use-spring-property-placeholder-with-camel-xml.html

然后是配置spring属性占位符以使用-D系统环境加载给定环境的.properties文件。

答案 1 :(得分:1)

不要使用Spring占位符来管理路由,而应考虑使用Camel的Properties Component [1]管理配置。在配置路由时,我个人更喜欢依赖Camel的API而不是Spring。

[1] http://camel.apache.org/properties.html