From 82f8b4330c99e104819fc37d1901a2c806630f79 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Thu, 4 Sep 2014 00:36:17 +0200 Subject: [PATCH] CachingConnectionFactory proceeds to physicalClose in case of logicalClose exceptions Issue: SPR-12148 --- .../jms/connection/CachingConnectionFactory.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/spring-jms/src/main/java/org/springframework/jms/connection/CachingConnectionFactory.java b/spring-jms/src/main/java/org/springframework/jms/connection/CachingConnectionFactory.java index d8a5b06e7b..8c4d8f592f 100644 --- a/spring-jms/src/main/java/org/springframework/jms/connection/CachingConnectionFactory.java +++ b/spring-jms/src/main/java/org/springframework/jms/connection/CachingConnectionFactory.java @@ -305,9 +305,15 @@ public class CachingConnectionFactory extends SingleConnectionFactory { if (active) { synchronized (this.sessionList) { if (this.sessionList.size() < getSessionCacheSize()) { - logicalClose((Session) proxy); - // Remain open in the session list. - return null; + try { + logicalClose((Session) proxy); + // Remain open in the session list. + return null; + } + catch (JMSException ex) { + logger.trace("Logical close of cached JMS Session failed - discarding it", ex); + // Proceed to physical close from here... + } } } }