我有几种不同的保险丝束,其中一些具有在自己的驼峰环境中定义的驼峰路线。
我想从一个捆绑包中访问所有驼峰上下文。
类似的东西:
fuse.getCamelContext("someOtherCamelContextId")
或者也许:
fuse.getBundleContext("someOtherBundleName").getCamelContext("someOtherCamelContextId")
我知道如何实现一个CamelContextAware
类并使用spring注入它,但是,它只能访问本地的camel上下文。
Fuse确实记录了驼峰上下文的服务ID - 有没有办法查找它们?
或者Fuse只允许访问该捆绑包服务吗?
谢谢!
答案 0 :(得分:0)
CamelContext
已注册到OSGi服务注册表中。所以只需使用它来查找CamelContext
,例如它的标准OSGi如何做到这一点。
答案 1 :(得分:0)
这是一个例子!
ServiceReference[] srs = bundleContext.getServiceReferences(CamelContext.class.getName(), "(camel.context.name=myother-camel-context-name)");
CamelContext camelContext = (CamelContext) bundleContext.getService(srs[0])
非常简单......