2011-03-09 61 views
1

要處理大量消息進入隊列,我需要保證至少有一個jms連接在任何時候出現。我使用spring和spring只允許在單個連接上進行多個會話。如果只有一個連接失敗,應用程序將停止運行直到春天重新連接到JMS橋。Spring JMS:創建與隊列的多個連接

那麼如何在Spring中創建多個連接到隊列,我該如何在這裏做連接池。

回答

3

答案取決於您是在J2EE容器(jboss等)中還是在獨立應用程序中使用Spring。

獨立 - 你會發現池連接是一個問題。彈簧SingleConnectionFactory可以設置爲更新連接的異常,從而保證在某個時刻連接將會聯機並再次開始處理隊列,但是您仍然有等待該單一連接更新的問題,以及依賴於什麼消息傳遞實現的處理以及它如何進行負載平衡可能會發現自己與集羣中的單個節點的連接受阻。

如果你在一個容器中運行,你可以依賴容器連接工廠,這將更加健壯。例如容器中的JBoss Messaging將無縫地故障轉移到其他節點並處理封面下的池,但是如果在容器中工作,通常更容易在JMS模板上保存哪種類型的容器提供的容器。

+0

+1好答案。 – skaffman 2011-03-12 19:40:31