2011-03-09 70 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