2010-09-07 49 views
4

我對使用JBoss 5.1提供的JMS有一個通用的問題。哪個JMS ConnectionFactory可以在JBoss 5.1上使用?

我在JBoss 5.1上部署了我的Java EE應用程序(使用Spring Framework實現)。應用程序使用Spring從JMS隊列(DefaultMessageListenerContainer)中使用消息,並使用Spring的JmsTemplate將消息發送到JMS目標。這裏重要的是應用程序使用2PC(JTA和XA)。此外,應用程序中沒有MDB。

尋找在JBoss的5.1配置有在JNDI幾個可用的連接工廠:

  • 的java:/ JmsXA
  • 的java:/ ConnectionFactory的
  • 的java:/ XAConnectionFactory
  • 的java:/ ClusteredConnectionFactory
  • java:/ ClusteredXAConnectionFactory
  • ConnectionFactory
  • XAConnectionFactory
  • ClusteredConnectionFactory
  • ClusteredXAConnectionFactory

我不知道我應該用我的配置是哪一個。我總是使用java:/ JmsXA,但我不太確定這是否是集羣環境中的最佳選擇。

任何人都可以談談這個問題,請?

回答

1

的有趣的是deploy/messaging/jms-ds.xml

  • java:/JmsXA - 「用它來獲取交易JMS在豆」
  • java:/XAConnectionFactory - 「目前指向一個非羣集連接工廠」

外貌對我來說java:/JmsXA絕對是一個使用。

+0

那麼deploy/messaging/connection-factories-service.xml呢?其餘的工廠形成清單。還有一個評論爲「支持所創建連接的自動故障轉移和負載平衡的羣集連接工廠」。這不合適嗎? – 2010-09-07 08:53:36

+0

@pregzt:不,因爲它們不支持XA。 – skaffman 2010-09-07 11:22:56

+0

deploy/messaging/connection-factories-service.xml中的工廠叫做ClusteredXAConnectionFactory(或java:/ ClusteredXAConnectionFactory)呢?名稱中的XA意味着它們具有XA功能。它的評論還說:「一個集羣連接工廠支持所創建的連接的自動故障轉移和負載平衡,這個工廠不適合被MDB使用。」鑑於OP不使用MDB,我建議這是首選工廠,特別是在使用集羣時。 – mluisbrown 2011-02-02 16:02:55