我怎么能创建一个camel globalObject?

时间:2014-11-17 14:57:38

标签: apache-camel

我需要一个全局Object用于所有路由,进程和组件。在这个全局Object中,我会保存配置参数。但我不知道如何以及在哪里设置全局Object,以及如何在我自己的流程和我自己的组件中读取它。

我在Spring中创建了驼峰上下文并且有一个RouteBuilder来构建我的路由。

谢谢

1 个答案:

答案 0 :(得分:1)

如果您想设置路线,可以使用PropertyPlaceholderConfigurer,请参阅here

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>

<camelContext xmlns="http://activemq.apache.org/camel/schema/spring">
  <route>
    <from uri="activemq:${someQueueName}"/>
    <to uri="mock:results"/>
  </route>
</camelContext>

或者,您可以使用允许您在Spring ApplicationContextRegistry中查找bean的ApplicationContext。当您在Spring环境中使用Camel时,将自动使用此实现,请参阅here。例如,访问注册表如下:

String myValue = exchange.getContext().getRegistry().lookupByNameAndType("myKey", String.class);