在 JBoss 5.1 上应该使用哪个 JMS ConnectionFactory?
Posted
技术标签:
【中文标题】在 JBoss 5.1 上应该使用哪个 JMS ConnectionFactory?【英文标题】:Which JMS ConnectionFactory shouuld one use on JBoss 5.1? 【发布时间】:2011-04-09 02:13:20 【问题描述】:我有关于使用 JBoss 5.1 提供的 JMS 的一般性问题。
我在 JBoss 5.1 上部署了我的 Java EE 应用程序(使用 Spring Framework 实现)。该应用程序使用 Spring 来使用来自 JMS 队列 (DefaultMessageListenerContainer) 的消息,并且还使用 Spring 的 JmsTemplate 将消息发送到 JMS 目的地。这里重要的是应用程序使用 2PC(JTA 和 XA)。此外,应用程序中没有 MDB。
查看 JBoss 5.1 配置,JNDI 中有几个可用的 ConnectionFactories:
java:/JmsXA java:/ConnectionFactory java:/XAConnectionFactory java:/ClusteredConnectionFactory java:/ClusteredXAConnectionFactory 连接工厂 XAConnectionFactory 集群连接工厂 ClusteredXAConnectionFactory我想知道我应该在我的配置中使用哪一个。我一直使用 java:/JmsXA ,但我不太确定这是否是最佳选择,尤其是对于集群环境。
谁能解释一下这个主题?
【问题讨论】:
【参考方案1】:有趣的是deploy/messaging/jms-ds.xml
java:/JmsXA
- “使用它在 bean 中获取交易的 JMS”
java:/XAConnectionFactory
- "当前指向非集群 ConnectionFactory"
在我看来,java:/JmsXA
绝对是可以使用的。
【讨论】:
deploy/messaging/connection-factories-service.xml 怎么样?列表中还有其余的工厂。并且有一个评论为“支持自动故障转移和已创建连接的负载平衡的集群连接工厂”。不合适吗? @pregzt:不,因为它们不支持 XA。 deploy/messaging/connection-factories-service.xml 中称为 ClusteredXAConnectionFactory(或 java:/ClusteredXAConnectionFactory)的工厂怎么样?名称中的 XA 意味着它们具有 XA 功能。它的评论还说:“支持自动故障转移和已创建连接的负载平衡的集群连接工厂。这个工厂不适合 MDB 使用。”鉴于 OP 不使用 MDB,我建议这是首选工厂,尤其是在使用集群的情况下。以上是关于在 JBoss 5.1 上应该使用哪个 JMS ConnectionFactory?的主要内容,如果未能解决你的问题,请参考以下文章