如何在java中设置camel上下文和注册表

时间:2014-04-22 15:54:19

标签: apache-camel

我正在创建一个独立的驼峰应用程序。我只想使用java(因为编译器告诉我什么不对)。 为了使我的代码更少耦合和可重用的测试,我想将上下文和注册表的创建分离到单独的类。 我刚刚开始扩展DefaultCamelContext - 这是一个好主意还是我应该扩展/实现其他类? 在这个类中,我想使用我自己的注册表(它绑定一些bean实例)类。我找到了方法setRegistry(org.apache.camel.spi.Registry)。

但是如何实现这样的注册表?还有一个" defaultRegistry"? (对于测试,有一个createRegistry(),测试之外有什么东西吗?)

最后我想使用依赖注入(guice)将所有东西粘合在一起:注册表将注入bean实例,然后在上下文中注入注册表,并在我的主类中注入上下文而不是创建&#34 ; main",设置上下文和" run()" s。

1 个答案:

答案 0 :(得分:1)

Camel支持pluggable registry strategy ...所以你应该能够实现org.apache.camel.spi.Registry接口并调用setRegistry(myImpl)......

支持的几个(简单,Jndi等)注册表可能满足您的需求或作为示例...

例如,这是SimpleRegistry实现类...

https://git-wip-us.apache.org/repos/asf?p=camel.git;a=blob_plain;f=camel-core/src/main/java/org/apache/camel/impl/SimpleRegistry.java;h=d2a4a21c9f9fbc70f45fd485d1c46c8a20b9afea;hb=HEAD