diff options
Diffstat (limited to 'qpid/java')
-rw-r--r-- | qpid/java/build.deps | 3 | ||||
-rw-r--r-- | qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_0_10.java | 2 | ||||
-rw-r--r-- | qpid/java/lib/mockito-all-1.9.0.jar | bin | 0 -> 1495219 bytes | |||
-rw-r--r-- | qpid/java/systests/src/main/java/org/apache/qpid/test/unit/client/connection/BrokerClosesClientConnectionTest.java | 17 |
4 files changed, 21 insertions, 1 deletions
diff --git a/qpid/java/build.deps b/qpid/java/build.deps index fe0ca6362b..ec9eacb169 100644 --- a/qpid/java/build.deps +++ b/qpid/java/build.deps @@ -35,6 +35,7 @@ geronimo-kernel=lib/geronimo-kernel-2.2.1.jar geronimo-openejb=lib/geronimo-ejb_3.0_spec-1.0.1.jar junit=lib/junit-3.8.1.jar +mockito-all=lib/mockito-all-1.9.0.jar log4j=lib/log4j-1.2.12.jar @@ -58,7 +59,7 @@ broker.libs=${commons-cli} ${commons-logging} ${log4j} ${slf4j-log4j} \ broker-plugins.libs=${felix.libs} ${log4j} ${commons-configuration.libs} -junit-toolkit.libs=${log4j} ${junit} ${slf4j-api} +junit-toolkit.libs=${log4j} ${junit} ${slf4j-api} ${mockito-all} test.libs=${slf4j-log4j} ${junit-toolkit.libs} ibm-icu=lib/com.ibm.icu_3.8.1.v20080530.jar diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_0_10.java b/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_0_10.java index 56ee56d178..a1a06c5547 100644 --- a/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_0_10.java +++ b/qpid/java/client/src/main/java/org/apache/qpid/client/AMQConnectionDelegate_0_10.java @@ -327,6 +327,8 @@ public class AMQConnectionDelegate_0_10 implements AMQConnectionDelegate, Connec } } + _conn.setClosed(); + ExceptionListener listener = _conn.getExceptionListenerNoCheck(); if (listener == null) { diff --git a/qpid/java/lib/mockito-all-1.9.0.jar b/qpid/java/lib/mockito-all-1.9.0.jar Binary files differnew file mode 100644 index 0000000000..273fd50feb --- /dev/null +++ b/qpid/java/lib/mockito-all-1.9.0.jar diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/client/connection/BrokerClosesClientConnectionTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/client/connection/BrokerClosesClientConnectionTest.java index 6b83929258..5b3bca7033 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/client/connection/BrokerClosesClientConnectionTest.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/client/connection/BrokerClosesClientConnectionTest.java @@ -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 BrokerClosesClientConnectionTest extends QpidBrokerTestCase { 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 BrokerClosesClientConnectionTest extends QpidBrokerTestCase return; } + assertConnectionOpen(); + killBroker(); JMSException exception = _recordingExceptionListener.awaitException(10000); assertConnectionCloseWasReported(exception, expectedLinkedException); + assertConnectionClosed(); ensureCanCloseWithoutException(); } @@ -107,6 +114,16 @@ public class BrokerClosesClientConnectionTest extends QpidBrokerTestCase 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); |