一个OSGi Bundle从另一个Bundle加载CamelContext

时间:2015-03-31 03:27:00

标签: osgi spring-dm

我有几个OSGi包(比如A,B和C)。这些bundle中的每一个都有自己使用Spring DM XML文件定义的Camel路由。

我想通过在每条路线的开头添加窃听来监控每条路线。例如,窃听将数据发送到在不同捆绑中定义的路由(比如Z)

...
<wiretap uri="direct-vm:data-gathering-route/>
...

在捆绑Z中,我将在名为camelContext.xml的文件中定义所述路由。其位置为META-INF/spring,如下所示:

<route>
  <from uri="direct-vm:data-gathering-route"/>
...
  </route>

在单独的包中定义此路由的原因是因为我不想在包A,B和C中重复此操作。所以我希望我可以导入此路由定义(在包A,B和C Camel上下文中)文件)使用Spring DM import语句,如下所示:

<import resource="classpath:META-INF/spring/camelContext.xml"/>

当我在Karaf中部署捆绑包A,B,C和Z时,它抱怨它无法找到camelContext.xml文件。

我是以正确的方式接近这个吗?

感谢。

0 个答案:

没有答案