Author: kwall
Date: Wed Mar 21 11:05:26 2012
New Revision: 1303360

URL: http://svn.apache.org/viewvc?rev=1303360&view=rev
Log:
QPID-3904: Java client should set AMQConnection#_closed flag on receipt of 0-10 
connection.close

Modified:
    
qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_0_10.java
    
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/client/connection/BrokerClosesClientConnectionTest.java

Modified: 
qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_0_10.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_0_10.java?rev=1303360&r1=1303359&r2=1303360&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_0_10.java
 (original)
+++ 
qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_0_10.java
 Wed Mar 21 11:05:26 2012
@@ -327,6 +327,8 @@ public class AMQConnectionDelegate_0_10 
             }
         }
 
+        _conn.setClosed();
+
         ExceptionListener listener = _conn.getExceptionListenerNoCheck();
         if (listener == null)
         {

Modified: 
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/client/connection/BrokerClosesClientConnectionTest.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/client/connection/BrokerClosesClientConnectionTest.java?rev=1303360&r1=1303359&r2=1303360&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/client/connection/BrokerClosesClientConnectionTest.java
 (original)
+++ 
qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/client/connection/BrokerClosesClientConnectionTest.java
 Wed Mar 21 11:05:26 2012
@@ -25,6 +25,7 @@ import java.util.concurrent.TimeUnit;
 
 import org.apache.qpid.AMQConnectionClosedException;
 import org.apache.qpid.AMQDisconnectedException;
+import org.apache.qpid.client.AMQConnection;
 import org.apache.qpid.management.jmx.ManagedConnectionMBeanTest;
 import org.apache.qpid.test.utils.QpidBrokerTestCase;
 import org.apache.qpid.transport.ConnectionException;
@@ -62,10 +63,13 @@ public class BrokerClosesClientConnectio
     {
         final Class<? extends Exception> expectedLinkedException = 
isBroker010() ? ConnectionException.class : AMQConnectionClosedException.class;
 
+        assertConnectionOpen();
+
         stopBroker();
 
         JMSException exception = 
_recordingExceptionListener.awaitException(10000);
         assertConnectionCloseWasReported(exception, expectedLinkedException);
+        assertConnectionClosed();
 
         ensureCanCloseWithoutException();
     }
@@ -79,10 +83,13 @@ public class BrokerClosesClientConnectio
             return;
         }
 
+        assertConnectionOpen();
+
         killBroker();
 
         JMSException exception = 
_recordingExceptionListener.awaitException(10000);
         assertConnectionCloseWasReported(exception, expectedLinkedException);
+        assertConnectionClosed();
 
         ensureCanCloseWithoutException();
     }
@@ -107,6 +114,16 @@ public class BrokerClosesClientConnectio
         assertEquals("Unexpected linked exception", linkedExceptionClass, 
exception.getLinkedException().getClass());
     }
 
+    private void assertConnectionClosed()
+    {
+        assertTrue("Connection should be marked as closed", 
((AMQConnection)_connection).isClosed());
+    }
+
+    private void assertConnectionOpen()
+    {
+        assertFalse("Connection should not be marked as closed", 
((AMQConnection)_connection).isClosed());
+    }
+
     private final class RecordingExceptionListener implements ExceptionListener
     {
         private final CountDownLatch _exceptionReceivedLatch = new 
CountDownLatch(1);



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to