[jboss-cvs] JBoss Messaging SVN: r8533 - in branches/JBossMessaging_1_4_8_SP5_JBMessaging-1912_JBMessaging-1918_JBMessaging_1921_JBMessaging_1922/src/main/org/jboss/jms/client: remoting and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed May 9 06:37:04 EDT 2012
Author: raggz
Date: 2012-05-09 06:37:04 -0400 (Wed, 09 May 2012)
New Revision: 8533
Modified:
branches/JBossMessaging_1_4_8_SP5_JBMessaging-1912_JBMessaging-1918_JBMessaging_1921_JBMessaging_1922/src/main/org/jboss/jms/client/container/ConnectionAspect.java
branches/JBossMessaging_1_4_8_SP5_JBMessaging-1912_JBMessaging-1918_JBMessaging_1921_JBMessaging_1922/src/main/org/jboss/jms/client/remoting/ConsolidatedRemotingConnectionListener.java
Log:
JBMessaging-1912
Modified: branches/JBossMessaging_1_4_8_SP5_JBMessaging-1912_JBMessaging-1918_JBMessaging_1921_JBMessaging_1922/src/main/org/jboss/jms/client/container/ConnectionAspect.java
===================================================================
--- branches/JBossMessaging_1_4_8_SP5_JBMessaging-1912_JBMessaging-1918_JBMessaging_1921_JBMessaging_1922/src/main/org/jboss/jms/client/container/ConnectionAspect.java 2012-05-09 10:19:57 UTC (rev 8532)
+++ branches/JBossMessaging_1_4_8_SP5_JBMessaging-1912_JBMessaging-1918_JBMessaging_1921_JBMessaging_1922/src/main/org/jboss/jms/client/container/ConnectionAspect.java 2012-05-09 10:37:04 UTC (rev 8533)
@@ -178,15 +178,18 @@
JMSRemotingConnection remotingConnection = state.getRemotingConnection();
- // remove the consolidated remoting connection listener
-
- ConsolidatedRemotingConnectionListener l = remotingConnection.removeConnectionListener();
- if (l != null)
- {
- l.clear();
- }
-
- // Finished with the connection - we need to shutdown callback server
+ // remove the consolidated remoting connection listener
+ ConsolidatedRemotingConnectionListener l = remotingConnection.removeConnectionListener();
+
+ if (l != null)
+ {
+ if (l.setBeingHandled())
+ {
+ l.clear();
+ }
+ }
+
+ // Finished with the connection - we need to shutdown callback server
remotingConnection.stop();
// And to resource manager
Modified: branches/JBossMessaging_1_4_8_SP5_JBMessaging-1912_JBMessaging-1918_JBMessaging_1921_JBMessaging_1922/src/main/org/jboss/jms/client/remoting/ConsolidatedRemotingConnectionListener.java
===================================================================
--- branches/JBossMessaging_1_4_8_SP5_JBMessaging-1912_JBMessaging-1918_JBMessaging_1921_JBMessaging_1922/src/main/org/jboss/jms/client/remoting/ConsolidatedRemotingConnectionListener.java 2012-05-09 10:19:57 UTC (rev 8532)
+++ branches/JBossMessaging_1_4_8_SP5_JBMessaging-1912_JBMessaging-1918_JBMessaging_1921_JBMessaging_1922/src/main/org/jboss/jms/client/remoting/ConsolidatedRemotingConnectionListener.java 2012-05-09 10:37:04 UTC (rev 8533)
@@ -49,6 +49,10 @@
private Object jmsExceptionLock = new Object();
+ private Object exceptionLock = new Object();
+
+ private boolean beingHandled = false;
+
// Constructors ---------------------------------------------------------------------------------
public ConsolidatedRemotingConnectionListener()
@@ -65,6 +69,12 @@
{
return;
}
+
+ //if the connection is already closed then there is no point handling it again.
+ if (!setBeingHandled())
+ {
+ return;
+ }
// forward the exception to delegate listener and JMS ExceptionListeners;
boolean forwardToJMSListener = true;
@@ -186,6 +196,20 @@
remotingListener = null;
log.trace(this + " cleared");
}
+
+ //https://issues.jboss.org/browse/JBMESSAGING-1912
+ public boolean setBeingHandled()
+ {
+ synchronized (exceptionLock)
+ {
+ if (beingHandled)
+ {
+ return false;
+ }
+ beingHandled = true;
+ return true;
+ }
+ }
private void clearJmsExceptionListener()
{
More information about the jboss-cvs-commits
mailing list