You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ta...@apache.org on 2016/04/05 15:47:45 UTC

qpid-jms git commit: QPIDJMS-167 Add event point to get notified that the remote has closed a session, producer or consumer.

Repository: qpid-jms
Updated Branches:
  refs/heads/master 52a4a6eaa -> c9439171d


QPIDJMS-167 Add event point to get notified that the remote has closed a
session, producer or consumer.

Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/c9439171
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/c9439171
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/c9439171

Branch: refs/heads/master
Commit: c9439171d52a3d1246094df1324fd8bb6c08f086
Parents: 52a4a6e
Author: Timothy Bish <ta...@gmail.com>
Authored: Tue Apr 5 09:47:30 2016 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Tue Apr 5 09:47:30 2016 -0400

----------------------------------------------------------------------
 .../java/org/apache/qpid/jms/JmsConnection.java | 23 ++++++----
 .../apache/qpid/jms/JmsConnectionListener.java  | 34 ++++++++++++++
 .../java/org/apache/qpid/jms/JmsSession.java    | 48 +++++++++++---------
 .../org/apache/qpid/jms/JmsConnectionTest.java  | 25 +---------
 .../qpid/jms/JmsDefaultConnectionListener.java  | 16 +++++++
 .../integration/ConsumerIntegrationTest.java    | 12 ++++-
 .../integration/ProducerIntegrationTest.java    | 13 +++++-
 .../jms/integration/SessionIntegrationTest.java | 24 +++++++++-
 .../FailoverProviderOfflineBehaviorTest.java    | 22 ++-------
 .../JmsConsumerPriorityDispatchTest.java        | 24 ++++++++++
 .../jms/discovery/FileWatcherDiscoveryTest.java | 15 ++++++
 .../jms/discovery/JmsAmqpDiscoveryTest.java     | 15 ++++++
 .../transactions/JmsTransactedConsumerTest.java | 12 +++++
 13 files changed, 206 insertions(+), 77 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/c9439171/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnection.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnection.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnection.java
index ee0bba4..2ead1bf 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnection.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnection.java
@@ -1211,24 +1211,31 @@ public class JmsConnection implements AutoCloseable, Connection, TopicConnection
                         JmsSession session = sessions.get(resource.getId());
                         if (session != null) {
                             session.remotelyClosed(cause);
-
-                            // TODO: exception listener?
+                            for (JmsConnectionListener listener : connectionListeners) {
+                                listener.onSessionRemotelyClosed(session, cause);
+                            }
                         }
                     } else if (resource instanceof JmsProducerInfo) {
                         JmsSessionId parentId = ((JmsProducerInfo) resource).getParentId();
                         JmsSession session = sessions.get(parentId);
                         if (session != null) {
-                            session.resourceRemotelyClosed(resource, cause);
-
-                            // TODO: exception listener?
+                            JmsMessageProducer producer = session.producerRemotelyClosed((JmsProducerInfo) resource, cause);
+                            if (producer != null) {
+                                for (JmsConnectionListener listener : connectionListeners) {
+                                    listener.onProducerRemotelyClosed(producer, cause);
+                                }
+                            }
                         }
                     } else if (resource instanceof JmsConsumerInfo) {
                         JmsSessionId parentId = ((JmsConsumerInfo) resource).getParentId();
                         JmsSession session = sessions.get(parentId);
                         if (session != null) {
-                            session.resourceRemotelyClosed(resource, cause);
-
-                            // TODO: exception listener?
+                            JmsMessageConsumer consumer = session.consumerRemotelyClosed((JmsConsumerInfo) resource, cause);
+                            if (consumer != null) {
+                                for (JmsConnectionListener listener : connectionListeners) {
+                                    listener.onConsumerRemotelyClosed(consumer, cause);
+                                }
+                            }
                         }
                     } else {
                         LOG.info("A JMS resource has been remotely closed: {}", resource);

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/c9439171/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionListener.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionListener.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionListener.java
index 09130ae..f06f343 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionListener.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnectionListener.java
@@ -18,6 +18,10 @@ package org.apache.qpid.jms;
 
 import java.net.URI;
 
+import javax.jms.MessageConsumer;
+import javax.jms.MessageProducer;
+import javax.jms.Session;
+
 import org.apache.qpid.jms.message.JmsInboundMessageDispatch;
 
 /**
@@ -70,4 +74,34 @@ public interface JmsConnectionListener {
      */
     void onInboundMessage(JmsInboundMessageDispatch envelope);
 
+    /**
+     * Called when the remote peer closes a session.
+     *
+     * @param session
+     *      The session that was closed on the remote end.
+     * @param cause
+     *      The exception that provides additional context on the remote closure.
+     */
+    void onSessionRemotelyClosed(Session session, Exception cause);
+
+    /**
+     * Called when the remote peer closes a MessageConsumer.
+     *
+     * @param consumer
+     *      The consumer that was closed on the remote end.
+     * @param cause
+     *      The exception that provides additional context on the remote closure.
+     */
+    void onConsumerRemotelyClosed(MessageConsumer consumer, Exception cause);
+
+    /**
+     * Called when the remote peer closes a MessageProducer.
+     *
+     * @param producer
+     *      The producer that was closed on the remote end.
+     * @param cause
+     *      The exception that provides additional context on the remote closure.
+     */
+    void onProducerRemotelyClosed(MessageProducer producer, Exception cause);
+
 }

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/c9439171/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSession.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSession.java b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSession.java
index 4a10a4e..8e5088e 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSession.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsSession.java
@@ -67,7 +67,6 @@ import org.apache.qpid.jms.meta.JmsConsumerId;
 import org.apache.qpid.jms.meta.JmsConsumerInfo;
 import org.apache.qpid.jms.meta.JmsProducerId;
 import org.apache.qpid.jms.meta.JmsProducerInfo;
-import org.apache.qpid.jms.meta.JmsResource;
 import org.apache.qpid.jms.meta.JmsSessionId;
 import org.apache.qpid.jms.meta.JmsSessionInfo;
 import org.apache.qpid.jms.provider.Provider;
@@ -275,31 +274,36 @@ public class JmsSession implements AutoCloseable, Session, QueueSession, TopicSe
         }
     }
 
-    /*
-     * Called to indicate that a session resource was closed by the remote peer.
-     */
-    void resourceRemotelyClosed(JmsResource resource, Exception cause) {
-        LOG.info("A JMS resource has been remotely closed: {}", resource);
+    JmsMessageConsumer consumerRemotelyClosed(JmsConsumerInfo resource, Exception cause) {
+        LOG.info("A JMS MessageConsumer has been remotely closed: {}", resource);
 
-        if (resource instanceof JmsConsumerInfo) {
-            try {
-                JmsMessageConsumer consumer = consumers.get(resource.getId());
-                if (consumer != null) {
-                    consumer.shutdown(cause);
-                }
-            } catch (Throwable error) {
-                LOG.trace("Ignoring exception thrown during cleanup of remotely closed consumer", error);
+        JmsMessageConsumer consumer = consumers.get(resource.getId());
+
+        try {
+            if (consumer != null) {
+                consumer.shutdown(cause);
             }
-        } else if (resource instanceof JmsProducerInfo) {
-            try {
-                JmsMessageProducer producer = producers.get(resource.getId());
-                if (producer != null) {
-                    producer.shutdown(cause);
-                }
-            } catch (Throwable error) {
-                LOG.trace("Ignoring exception thrown during cleanup of remotely closed producer", error);
+        } catch (Throwable error) {
+            LOG.trace("Ignoring exception thrown during cleanup of remotely closed consumer", error);
+        }
+
+        return consumer;
+    }
+
+    JmsMessageProducer producerRemotelyClosed(JmsProducerInfo resource, Exception cause) {
+        LOG.info("A JMS MessageProducer has been remotely closed: {}", resource);
+
+        JmsMessageProducer producer = producers.get(resource.getId());
+
+        try {
+            if (producer != null) {
+                producer.shutdown(cause);
             }
+        } catch (Throwable error) {
+            LOG.trace("Ignoring exception thrown during cleanup of remotely closed producer", error);
         }
+
+        return producer;
     }
 
     //////////////////////////////////////////////////////////////////////////

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/c9439171/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionTest.java
index bf5bbcf..1ac4c3d 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionTest.java
@@ -35,7 +35,6 @@ import javax.jms.Session;
 import javax.jms.TemporaryQueue;
 import javax.jms.TemporaryTopic;
 
-import org.apache.qpid.jms.message.JmsInboundMessageDispatch;
 import org.apache.qpid.jms.provider.mock.MockProvider;
 import org.apache.qpid.jms.provider.mock.MockProviderFactory;
 import org.apache.qpid.jms.util.IdGenerator;
@@ -116,29 +115,7 @@ public class JmsConnectionTest {
     @Test(timeout=30000)
     public void testAddConnectionListener() throws JMSException {
         connection = new JmsConnection("ID:TEST:1", provider, clientIdGenerator);
-        JmsConnectionListener listener = new JmsConnectionListener() {
-
-            @Override
-            public void onInboundMessage(JmsInboundMessageDispatch envelope) {
-            }
-
-            @Override
-            public void onConnectionRestored(URI remoteURI) {
-            }
-
-            @Override
-            public void onConnectionInterrupted(URI remoteURI) {
-            }
-
-            @Override
-            public void onConnectionFailure(Throwable error) {
-            }
-
-            @Override
-            public void onConnectionEstablished(URI remoteURI) {
-            }
-        };
-
+        JmsConnectionListener listener = new JmsDefaultConnectionListener();
         assertFalse(connection.removeConnectionListener(listener));
         connection.addConnectionListener(listener);
         assertTrue(connection.removeConnectionListener(listener));

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/c9439171/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsDefaultConnectionListener.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsDefaultConnectionListener.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsDefaultConnectionListener.java
index 439b1ec..80de69a 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsDefaultConnectionListener.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsDefaultConnectionListener.java
@@ -20,6 +20,10 @@ package org.apache.qpid.jms;
 
 import java.net.URI;
 
+import javax.jms.MessageConsumer;
+import javax.jms.MessageProducer;
+import javax.jms.Session;
+
 import org.apache.qpid.jms.message.JmsInboundMessageDispatch;
 
 public class JmsDefaultConnectionListener implements JmsConnectionListener {
@@ -43,4 +47,16 @@ public class JmsDefaultConnectionListener implements JmsConnectionListener {
     @Override
     public void onInboundMessage(JmsInboundMessageDispatch envelope) {
     }
+
+    @Override
+    public void onSessionRemotelyClosed(Session session, Exception exception) {
+    }
+
+    @Override
+    public void onConsumerRemotelyClosed(MessageConsumer consumer, Exception cause) {
+    }
+
+    @Override
+    public void onProducerRemotelyClosed(MessageProducer producer, Exception cause) {
+    }
 }

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/c9439171/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ConsumerIntegrationTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ConsumerIntegrationTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ConsumerIntegrationTest.java
index 33a8806..4096efb 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ConsumerIntegrationTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ConsumerIntegrationTest.java
@@ -28,6 +28,7 @@ import static org.junit.Assert.fail;
 import java.io.IOException;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicBoolean;
 
 import javax.jms.Connection;
 import javax.jms.IllegalStateException;
@@ -123,7 +124,14 @@ public class ConsumerIntegrationTest extends QpidJmsTestCase {
         final String BREAD_CRUMB = "ErrorMessage";
 
         try (TestAmqpPeer testPeer = new TestAmqpPeer();) {
-            Connection connection = testFixture.establishConnecton(testPeer);
+            final AtomicBoolean consumerClosed = new AtomicBoolean();
+            JmsConnection connection = (JmsConnection) testFixture.establishConnecton(testPeer);
+            connection.addConnectionListener(new JmsDefaultConnectionListener() {
+                @Override
+                public void onConsumerRemotelyClosed(MessageConsumer consumer, Exception exception) {
+                    consumerClosed.set(true);
+                }
+            });
 
             testPeer.expectBegin();
             Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
@@ -156,6 +164,8 @@ public class ConsumerIntegrationTest extends QpidJmsTestCase {
                 }
             }, 10000, 10));
 
+            assertTrue("Consumer closed callback didn't trigger", consumerClosed.get());
+
             // Try closing it explicitly, should effectively no-op in client.
             // The test peer will throw during close if it sends anything.
             consumer.close();

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/c9439171/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ProducerIntegrationTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ProducerIntegrationTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ProducerIntegrationTest.java
index 4d38dd6..2e49080 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ProducerIntegrationTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/ProducerIntegrationTest.java
@@ -40,6 +40,7 @@ import java.util.Set;
 import java.util.UUID;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicBoolean;
 
 import javax.jms.Connection;
 import javax.jms.DeliveryMode;
@@ -54,6 +55,7 @@ import javax.jms.TextMessage;
 
 import org.apache.qpid.jms.JmsConnection;
 import org.apache.qpid.jms.JmsConnectionFactory;
+import org.apache.qpid.jms.JmsDefaultConnectionListener;
 import org.apache.qpid.jms.JmsOperationTimedOutException;
 import org.apache.qpid.jms.JmsSendTimedOutException;
 import org.apache.qpid.jms.message.foreign.ForeignJmsMessage;
@@ -796,7 +798,14 @@ public class ProducerIntegrationTest extends QpidJmsTestCase {
         final String BREAD_CRUMB = "ErrorMessageBreadCrumb";
 
         try (TestAmqpPeer testPeer = new TestAmqpPeer();) {
-            Connection connection = testFixture.establishConnecton(testPeer);
+            final AtomicBoolean producerClosed = new AtomicBoolean();
+            JmsConnection connection = (JmsConnection) testFixture.establishConnecton(testPeer);
+            connection.addConnectionListener(new JmsDefaultConnectionListener() {
+                @Override
+                public void onProducerRemotelyClosed(MessageProducer producer, Exception exception) {
+                    producerClosed.set(true);
+                }
+            });
 
             testPeer.expectBegin();
             Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
@@ -828,6 +837,8 @@ public class ProducerIntegrationTest extends QpidJmsTestCase {
                 }
             }, 10000, 10));
 
+            assertTrue("Producer closed callback didn't trigger", producerClosed.get());
+
             // Try closing it explicitly, should effectively no-op in client.
             // The test peer will throw during close if it sends anything.
             producer.close();

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/c9439171/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SessionIntegrationTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SessionIntegrationTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SessionIntegrationTest.java
index 2a52ce8..cf4c0a6 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SessionIntegrationTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/SessionIntegrationTest.java
@@ -33,6 +33,7 @@ import static org.junit.Assert.fail;
 import java.io.IOException;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import javax.jms.Connection;
@@ -56,6 +57,7 @@ import javax.jms.Topic;
 import javax.jms.TopicSubscriber;
 
 import org.apache.qpid.jms.JmsConnection;
+import org.apache.qpid.jms.JmsDefaultConnectionListener;
 import org.apache.qpid.jms.JmsOperationTimedOutException;
 import org.apache.qpid.jms.JmsPrefetchPolicy;
 import org.apache.qpid.jms.provider.amqp.message.AmqpDestinationHelper;
@@ -1265,7 +1267,14 @@ public class SessionIntegrationTest extends QpidJmsTestCase {
         final String BREAD_CRUMB = "ErrorMessage";
 
         try (TestAmqpPeer testPeer = new TestAmqpPeer();) {
-            Connection connection = testFixture.establishConnecton(testPeer);
+            final AtomicBoolean sessionClosed = new AtomicBoolean();
+            JmsConnection connection = (JmsConnection) testFixture.establishConnecton(testPeer);
+            connection.addConnectionListener(new JmsDefaultConnectionListener() {
+                @Override
+                public void onSessionRemotelyClosed(Session session, Exception exception) {
+                    sessionClosed.set(true);
+                }
+            });
 
             testPeer.expectBegin();
             Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
@@ -1308,6 +1317,8 @@ public class SessionIntegrationTest extends QpidJmsTestCase {
                 assertTrue(message.contains(BREAD_CRUMB));
             }
 
+            assertTrue("Session closed callback didn't trigger", sessionClosed.get());
+
             // Try closing it explicitly, should effectively no-op in client.
             // The test peer will throw during close if it sends anything.
             producer.close();
@@ -1319,7 +1330,14 @@ public class SessionIntegrationTest extends QpidJmsTestCase {
         final String BREAD_CRUMB = "ErrorMessage";
 
         try (TestAmqpPeer testPeer = new TestAmqpPeer();) {
-            Connection connection = testFixture.establishConnecton(testPeer);
+            final AtomicBoolean sessionClosed = new AtomicBoolean();
+            JmsConnection connection = (JmsConnection) testFixture.establishConnecton(testPeer);
+            connection.addConnectionListener(new JmsDefaultConnectionListener() {
+                @Override
+                public void onSessionRemotelyClosed(Session session, Exception exception) {
+                    sessionClosed.set(true);
+                }
+            });
 
             testPeer.expectBegin();
             Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
@@ -1362,6 +1380,8 @@ public class SessionIntegrationTest extends QpidJmsTestCase {
                 assertTrue(message.contains(BREAD_CRUMB));
             }
 
+            assertTrue("Session closed callback didn't trigger", sessionClosed.get());
+
             // Try closing it explicitly, should effectively no-op in client.
             // The test peer will throw during close if it sends anything.
             consumer.close();

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/c9439171/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverProviderOfflineBehaviorTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverProviderOfflineBehaviorTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverProviderOfflineBehaviorTest.java
index 25d8703..1ee03ec 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverProviderOfflineBehaviorTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverProviderOfflineBehaviorTest.java
@@ -31,8 +31,7 @@ import javax.jms.TransactionRolledBackException;
 
 import org.apache.qpid.jms.JmsConnection;
 import org.apache.qpid.jms.JmsConnectionFactory;
-import org.apache.qpid.jms.JmsConnectionListener;
-import org.apache.qpid.jms.message.JmsInboundMessageDispatch;
+import org.apache.qpid.jms.JmsDefaultConnectionListener;
 import org.apache.qpid.jms.meta.JmsResource;
 import org.apache.qpid.jms.meta.JmsSessionInfo;
 import org.apache.qpid.jms.provider.mock.ResourceLifecycleFilter;
@@ -234,26 +233,11 @@ public class FailoverProviderOfflineBehaviorTest extends FailoverProviderTestSup
         connection.close();
     }
 
-    private class ConnectionInterruptionListener implements JmsConnectionListener {
+    private class ConnectionInterruptionListener extends JmsDefaultConnectionListener {
+
         @Override
         public void onConnectionInterrupted(URI remoteURI) {
             connectionInterrupted.countDown();
         }
-
-        @Override
-        public void onConnectionEstablished(URI remoteURI) {
-        }
-
-        @Override
-        public void onConnectionFailure(Throwable error) {
-        }
-
-        @Override
-        public void onConnectionRestored(URI remoteURI) {
-        }
-
-        @Override
-        public void onInboundMessage(JmsInboundMessageDispatch envelope) {
-        }
     }
 }

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/c9439171/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/consumer/JmsConsumerPriorityDispatchTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/consumer/JmsConsumerPriorityDispatchTest.java b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/consumer/JmsConsumerPriorityDispatchTest.java
index 3525822..5c15770 100644
--- a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/consumer/JmsConsumerPriorityDispatchTest.java
+++ b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/consumer/JmsConsumerPriorityDispatchTest.java
@@ -75,6 +75,18 @@ public class JmsConsumerPriorityDispatchTest extends AmqpTestSupport {
             @Override
             public void onConnectionEstablished(URI remoteURI) {
             }
+
+            @Override
+            public void onSessionRemotelyClosed(Session session, Exception exception) {
+            }
+
+            @Override
+            public void onConsumerRemotelyClosed(MessageConsumer consumer, Exception cause) {
+            }
+
+            @Override
+            public void onProducerRemotelyClosed(MessageProducer producer, Exception cause) {
+            }
         });
 
         connection.start();
@@ -131,6 +143,18 @@ public class JmsConsumerPriorityDispatchTest extends AmqpTestSupport {
             @Override
             public void onConnectionEstablished(URI remoteURI) {
             }
+
+            @Override
+            public void onSessionRemotelyClosed(Session session, Exception exception) {
+            }
+
+            @Override
+            public void onConsumerRemotelyClosed(MessageConsumer consumer, Exception cause) {
+            }
+
+            @Override
+            public void onProducerRemotelyClosed(MessageProducer producer, Exception cause) {
+            }
         });
 
         assertFalse("Client side priority ordering expected to be disabled for this test",

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/c9439171/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/discovery/FileWatcherDiscoveryTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/discovery/FileWatcherDiscoveryTest.java b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/discovery/FileWatcherDiscoveryTest.java
index 2aea0ae..19d8a0a 100644
--- a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/discovery/FileWatcherDiscoveryTest.java
+++ b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/discovery/FileWatcherDiscoveryTest.java
@@ -26,6 +26,9 @@ import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
 import javax.jms.Connection;
+import javax.jms.MessageConsumer;
+import javax.jms.MessageProducer;
+import javax.jms.Session;
 
 import org.apache.qpid.jms.JmsConnection;
 import org.apache.qpid.jms.JmsConnectionFactory;
@@ -204,6 +207,18 @@ public class FileWatcherDiscoveryTest extends AmqpTestSupport {
             @Override
             public void onInboundMessage(JmsInboundMessageDispatch envelope) {
             }
+
+            @Override
+            public void onSessionRemotelyClosed(Session session, Exception exception) {
+            }
+
+            @Override
+            public void onConsumerRemotelyClosed(MessageConsumer consumer, Exception cause) {
+            }
+
+            @Override
+            public void onProducerRemotelyClosed(MessageProducer producer, Exception cause) {
+            }
         });
 
         return connection;

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/c9439171/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/discovery/JmsAmqpDiscoveryTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/discovery/JmsAmqpDiscoveryTest.java b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/discovery/JmsAmqpDiscoveryTest.java
index e46e359..24b1a09 100644
--- a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/discovery/JmsAmqpDiscoveryTest.java
+++ b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/discovery/JmsAmqpDiscoveryTest.java
@@ -26,6 +26,9 @@ import java.util.concurrent.TimeUnit;
 
 import javax.jms.Connection;
 import javax.jms.JMSException;
+import javax.jms.MessageConsumer;
+import javax.jms.MessageProducer;
+import javax.jms.Session;
 
 import org.apache.qpid.jms.JmsConnection;
 import org.apache.qpid.jms.JmsConnectionFactory;
@@ -219,4 +222,16 @@ public class JmsAmqpDiscoveryTest extends AmqpTestSupport implements JmsConnecti
     @Override
     public void onInboundMessage(JmsInboundMessageDispatch envelope) {
     }
+
+    @Override
+    public void onSessionRemotelyClosed(Session session, Exception exception) {
+    }
+
+    @Override
+    public void onConsumerRemotelyClosed(MessageConsumer consumer, Exception cause) {
+    }
+
+    @Override
+    public void onProducerRemotelyClosed(MessageProducer producer, Exception cause) {
+    }
 }

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/c9439171/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/transactions/JmsTransactedConsumerTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/transactions/JmsTransactedConsumerTest.java b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/transactions/JmsTransactedConsumerTest.java
index e4078a1..d536b1e 100644
--- a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/transactions/JmsTransactedConsumerTest.java
+++ b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/transactions/JmsTransactedConsumerTest.java
@@ -358,6 +358,18 @@ public class JmsTransactedConsumerTest extends AmqpTestSupport {
             @Override
             public void onConnectionEstablished(URI remoteURI) {
             }
+
+            @Override
+            public void onSessionRemotelyClosed(Session session, Exception exception) {
+            }
+
+            @Override
+            public void onConsumerRemotelyClosed(MessageConsumer consumer, Exception cause) {
+            }
+
+            @Override
+            public void onProducerRemotelyClosed(MessageProducer producer, Exception cause) {
+            }
         });
 
         MessageProducer pr = session.createProducer(queue);


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org