25.11. 配置不同的 JMS 供应商
您可以在 Spring XML 中配置 JMS 供应商,如下所示:
基本上,您可以根据需要配置多个 JMS 组件实例,并使用 id
属性 为它们指定唯一名称。前面的示例配置了 activemq
组件。您可以执行相同的配置 MQSeries、TibCo、BEA、Akonnic 等。
命名 JMS 组件后,您可以使用 URI 引用该组件中的端点。例如,对于组件名称 activemq
,您可以使用 URI 格式引用目的地,其中 activemq:[queue:|topic:]destinationName
。对于所有其他 JMS 提供程序,您可以使用相同的方法。
这适用于 SpringCamelContext lazily 从 spring 上下文获取组件,用于 Endpoint URI 和组件解析端点 URI。
25.11.1. 使用 JNDI 查找 ConnectionFactory
如果您使用 J2EE 容器,您可能需要查找 JNDI 来查找 JMS ConnectionFactory
,而不是在 Spring 中使用常见的 < bean>
; 机制。您可以使用 Spring 的 factoryan 或新的 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"/>
有关 JNDI 查找的详情,请参阅 Spring 参考文档中的 jee schema。