57.12. 配置不同的 JMS 提供程序
您可以在 Spring XML 中配置 JMS 供应商,如下所示:
基本上,您可以根据需要配置多个 JMS 组件实例,您需要使用 id 属性 为它们指定唯一的名称。前面的示例配置一个 activemq 组件。您可以执行相同的操作来配置 MQ 系列、TibCo、BEA、Snic 等。
具有命名的 JMS 组件后,您可以使用 URI 引用该组件中的端点。例如,对于组件名称 activemq,您可以使用 URI 格式引用目的地 :[queue:|topic:]destinationName.您可以将相同的方法用于所有其他 JMS 提供程序。
这由 SpringCamelContext lazily 从您用于 Endpoint URI 的 spring 上下文获取组件,并让组件解析端点 URI。
57.12.1. 使用 JNDI 查找 ConnectionFactory 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
如果您使用的是 J2EE 容器,您可能需要查找 JNDI 来查找 JMS ConnectionFactory,而不必在 Spring 中使用常见的 < bean> 机制。您可以使用 Spring 的 factory bean 或新的 Spring XML 命名空间进行此操作。例如:
<bean id="weblogic" class="org.apache.camel.component.jms.JmsComponent"> <property name="connectionFactory" ref="myConnectionFactory"/> </bean> <jee:jndi-lookup id="myConnectionFactory" jndi-name="jms/connectionFactory"/>
<bean id="weblogic" class="org.apache.camel.component.jms.JmsComponent">
<property name="connectionFactory" ref="myConnectionFactory"/>
</bean>
<jee:jndi-lookup id="myConnectionFactory" jndi-name="jms/connectionFactory"/>
有关 JNDI 查找的详情,请参阅 Spring 参考文档中的 jee 模式。