Apache camel 一个OSGi捆绑包中有多个驼峰蓝图?
我试图弄清楚是否应该将多个blueprint.xml文件打包到一个OSGi包中,并将其部署到karaf中。每个blueprint.xml文件都有一个camel上下文。我试着把我所有的蓝图都放到OSGI-INF/blueprint文件夹中,但是我遇到了一个错误Apache camel 一个OSGi捆绑包中有多个驼峰蓝图?,apache-camel,apache-karaf,Apache Camel,Apache Karaf,我试图弄清楚是否应该将多个blueprint.xml文件打包到一个OSGi包中,并将其部署到karaf中。每个blueprint.xml文件都有一个camel上下文。我试着把我所有的蓝图都放到OSGI-INF/blueprint文件夹中,但是我遇到了一个错误 Name“jms”已被注册组件使用 这似乎有道理,因为我在每个blueprint.xml中都这样做 <bean id="jms" class="org.apache.camel.component.jms.JmsComponent"&
Name“jms”已被注册组件使用
这似乎有道理,因为我在每个blueprint.xml中都这样做
<bean id="jms" class="org.apache.camel.component.jms.JmsComponent">
<property name="connectionFactory">
<bean class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="tcp://0.0.0.0:61616"/>
<property name="userName" value="karaf"/>
<property name="password" value="karaf"/>
</bean>
</property>
</bean>
我应该这样做吗?或者,每个CamelContext都是自己的包会更好吗?我已经看到了这一点,它说当多个上下文作为独立的捆绑包部署时,它们是有意义的。那么,这里的最佳实践是什么:
- 每个CamelContext都有自己的blueprint.xml,并与必要的bean绑定到一个osgi包中
- 为所有必要的bean准备一个包,然后将blueprint.xml文件放到karaf的deploy文件夹中
- 一个CamelContext导入所有其他CamelContext,与所有必需的bean捆绑在一起李>