Spring JMS CachingConnectionFactory似乎没有重新连接异常

时间:2014-08-19 15:51:02

标签: spring exception jms reconnect

发生此异常时,JMS连接未重新连接:

2014-08-16 10:51:36,724 WARN  [TIBCO EMS TCPLink Reader (Server-12486338)] connection.CachingConnectionFactory - Encountered a JMSException -    resetting the underlying JMS Connection
javax.jms.JMSException: Connection has been terminated
    at com.tibco.tibjms.Tibjmsx.buildException(Tibjmsx.java:502)
    at com.tibco.tibjms.TibjmsConnection._onDisconnected(TibjmsConnection.java:2286)
    at com.tibco.tibjms.TibjmsConnection$ServerLinkEventHandler.onEventDisconnected(TibjmsConnection.java:341)
    at com.tibco.tibjms.TibjmsxLinkTcp$LinkReader.work(TibjmsxLinkTcp.java:320)
    at com.tibco.tibjms.TibjmsxLinkTcp$LinkReader.run(TibjmsxLinkTcp.java:247)
2014-08-16 10:51:40,286 WARN  [TIBCO EMS TCPLink Reader (Server-12494013)] connection.CachingConnectionFactory - Encountered a JMSException - resetting the underlying JMS Connection
javax.jms.JMSException: Connection has been terminated
    at com.tibco.tibjms.Tibjmsx.buildException(Tibjmsx.java:502)
    at com.tibco.tibjms.TibjmsConnection._onDisconnected(TibjmsConnection.java:2286)
    at com.tibco.tibjms.TibjmsConnection$ServerLinkEventHandler.onEventDisconnected(TibjmsConnection.java:341)
    at com.tibco.tibjms.TibjmsxLinkTcp$LinkReader.work(TibjmsxLinkTcp.java:320)
    at com.tibco.tibjms.TibjmsxLinkTcp$LinkReader.run(TibjmsxLinkTcp.java:247)

完全相同的错误发生了几秒钟,我想知道Spring试图重新连接并在两次尝试后放弃。

我检查了Spring源代码,并且在CachingConnectionFactory或其父类SingleConnectionFactory中的onException()方法中找不到重新连接逻辑。我们正在使用spring-jms 3.1.2,但我也查看了最新的Spring源代码。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我遇到类似的问题,一旦发生异常(当TIBCO主服务器停止并切换到辅助TIBCO服务器时),DefaultMessageListenerContainer无法重新连接。

我使用的是SingleConnectionFactory,它导致了这个问题。

使用java:comp / env / jms / TIBCOConnectionFactory直接从Websphere获取connectionFactory解决了这个问题。