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/09/13 16:55:03 UTC

[1/2] qpid-jms git commit: QPIDJMS-207 Remove some TODOs around using JMS 2.0 APIs in tests

Repository: qpid-jms
Updated Branches:
  refs/heads/master 6e442f4c6 -> dd6a44f24


QPIDJMS-207 Remove some TODOs around using JMS 2.0 APIs in tests

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

Branch: refs/heads/master
Commit: 404e044c65c86cc65905d46d7a8bd06d5f7f08e3
Parents: 6e442f4
Author: Timothy Bish <ta...@gmail.com>
Authored: Tue Sep 13 12:51:19 2016 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Tue Sep 13 12:51:19 2016 -0400

----------------------------------------------------------------------
 .../PresettledProducerIntegrationTest.java      |  8 +++---
 .../integration/ProducerIntegrationTest.java    | 28 +++++++-------------
 .../jms/integration/SessionIntegrationTest.java |  4 +--
 .../failover/FailoverIntegrationTest.java       | 10 +++----
 4 files changed, 16 insertions(+), 34 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/404e044c/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/PresettledProducerIntegrationTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/PresettledProducerIntegrationTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/PresettledProducerIntegrationTest.java
index ba851a6..d4f75d8 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/PresettledProducerIntegrationTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/PresettledProducerIntegrationTest.java
@@ -41,7 +41,6 @@ import javax.jms.TemporaryTopic;
 import javax.jms.TextMessage;
 import javax.jms.Topic;
 
-import org.apache.qpid.jms.JmsMessageProducer;
 import org.apache.qpid.jms.test.QpidJmsTestCase;
 import org.apache.qpid.jms.test.testpeer.ListDescribedType;
 import org.apache.qpid.jms.test.testpeer.TestAmqpPeer;
@@ -541,12 +540,11 @@ public class PresettledProducerIntegrationTest extends QpidJmsTestCase {
             }
 
             TestJmsCompletionListener listener = new TestJmsCompletionListener();
-            // TODO Can change to plain MessageProducer when JMS 2.0 API dependency is added.
-            JmsMessageProducer producer = null;
+            MessageProducer producer = null;
             if (anonymous) {
-                producer = (JmsMessageProducer) session.createProducer(null);
+                producer = session.createProducer(null);
             } else {
-                producer = (JmsMessageProducer) session.createProducer(destination);
+                producer = session.createProducer(destination);
             }
 
             // Create and transfer a new message

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/404e044c/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 0e6b445..d34aae6 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
@@ -63,7 +63,6 @@ import javax.jms.Topic;
 import org.apache.qpid.jms.JmsConnection;
 import org.apache.qpid.jms.JmsConnectionFactory;
 import org.apache.qpid.jms.JmsDefaultConnectionListener;
-import org.apache.qpid.jms.JmsMessageProducer;
 import org.apache.qpid.jms.JmsOperationTimedOutException;
 import org.apache.qpid.jms.JmsSendTimedOutException;
 import org.apache.qpid.jms.message.foreign.ForeignJmsMessage;
@@ -1031,8 +1030,7 @@ public class ProducerIntegrationTest extends QpidJmsTestCase {
             testPeer.expectSenderAttach();
 
             Queue queue = session.createQueue("myQueue");
-            // TODO - Can revert to just MessageProducer once JMS 2.0 API is used
-            final JmsMessageProducer producer = (JmsMessageProducer) session.createProducer(queue);
+            final MessageProducer producer = session.createProducer(queue);
 
             Message message = session.createTextMessage("content");
 
@@ -1255,8 +1253,7 @@ public class ProducerIntegrationTest extends QpidJmsTestCase {
             testPeer.expectTransferButDoNotRespond(messageMatcher);
             testPeer.expectClose();
 
-            // TODO - Can revert to plain JMS once 2.0 is supported.
-            JmsMessageProducer producer = (JmsMessageProducer) session.createProducer(queue);
+            MessageProducer producer = session.createProducer(queue);
             TestJmsCompletionListener listener = new TestJmsCompletionListener();
 
             try {
@@ -1925,8 +1922,7 @@ public class ProducerIntegrationTest extends QpidJmsTestCase {
             Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
             Queue queue = session.createQueue("myQueue");
 
-            // TODO Can change to plain MessageProducer when JMS 2.0 API dependency is added.
-            JmsMessageProducer producer = (JmsMessageProducer) session.createProducer(queue);
+            MessageProducer producer = session.createProducer(queue);
 
             // Create and transfer a new message
             String text = "myMessage";
@@ -1959,8 +1955,7 @@ public class ProducerIntegrationTest extends QpidJmsTestCase {
             Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
             Queue queue = session.createQueue("myQueue");
 
-            // TODO Can change to plain MessageProducer when JMS 2.0 API dependency is added.
-            JmsMessageProducer producer = (JmsMessageProducer) session.createProducer(queue);
+            MessageProducer producer = session.createProducer(queue);
 
             // Create and transfer a new message
             testPeer.expectTransfer(new TransferPayloadCompositeMatcher());
@@ -2047,8 +2042,7 @@ public class ProducerIntegrationTest extends QpidJmsTestCase {
             Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
             Queue queue = session.createQueue("myQueue");
 
-            // TODO Can change to plain MessageProducer when JMS 2.0 API dependency is added.
-            JmsMessageProducer producer = (JmsMessageProducer) session.createProducer(queue);
+            MessageProducer producer = session.createProducer(queue);
 
             // Create a second producer which allows for a safe wait for credit for the
             // first producer without the need for a sleep.  Otherwise the first producer
@@ -2106,8 +2100,7 @@ public class ProducerIntegrationTest extends QpidJmsTestCase {
             final Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
             Queue queue = session.createQueue("myQueue");
 
-            // TODO Can change to plain MessageProducer when JMS 2.0 API dependency is added.
-            JmsMessageProducer producer = (JmsMessageProducer) session.createProducer(queue);
+            MessageProducer producer = session.createProducer(queue);
 
             // Create and transfer a new message
             String text = "myMessage";
@@ -2156,8 +2149,7 @@ public class ProducerIntegrationTest extends QpidJmsTestCase {
             final Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
             Queue queue = session.createQueue("myQueue");
 
-            // TODO Can change to plain MessageProducer when JMS 2.0 API dependency is added.
-            JmsMessageProducer producer = (JmsMessageProducer) session.createProducer(queue);
+            MessageProducer producer = session.createProducer(queue);
 
             // Create and transfer a new message
             String text = "myMessage";
@@ -2212,8 +2204,7 @@ public class ProducerIntegrationTest extends QpidJmsTestCase {
             final Session session = connection.createSession(true, Session.SESSION_TRANSACTED);
             Queue queue = session.createQueue("myQueue");
 
-            // TODO Can change to plain MessageProducer when JMS 2.0 API dependency is added.
-            JmsMessageProducer producer = (JmsMessageProducer) session.createProducer(queue);
+            MessageProducer producer = session.createProducer(queue);
 
             // Create and transfer a new message
             String text = "myMessage";
@@ -2284,8 +2275,7 @@ public class ProducerIntegrationTest extends QpidJmsTestCase {
             final Session session = connection.createSession(true, Session.SESSION_TRANSACTED);
             Queue queue = session.createQueue("myQueue");
 
-            // TODO Can change to plain MessageProducer when JMS 2.0 API dependency is added.
-            JmsMessageProducer producer = (JmsMessageProducer) session.createProducer(queue);
+            MessageProducer producer = session.createProducer(queue);
 
             // Create and transfer a new message
             String text = "myMessage";

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/404e044c/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 7e5744f..fb44710 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
@@ -60,7 +60,6 @@ import javax.jms.TopicSubscriber;
 
 import org.apache.qpid.jms.JmsConnection;
 import org.apache.qpid.jms.JmsDefaultConnectionListener;
-import org.apache.qpid.jms.JmsMessageProducer;
 import org.apache.qpid.jms.JmsOperationTimedOutException;
 import org.apache.qpid.jms.JmsSession;
 import org.apache.qpid.jms.policy.JmsDefaultPrefetchPolicy;
@@ -1724,8 +1723,7 @@ public class SessionIntegrationTest extends QpidJmsTestCase {
             testPeer.expectSenderAttach();
 
             Queue queue = session.createQueue("myQueue");
-            // TODO - Can revert to just MessageProducer once JMS 2.0 API is used
-            final JmsMessageProducer producer = (JmsMessageProducer) session.createProducer(queue);
+            final MessageProducer producer = session.createProducer(queue);
 
             Message message = session.createTextMessage("content");
 

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/404e044c/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverIntegrationTest.java
----------------------------------------------------------------------
diff --git a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverIntegrationTest.java b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverIntegrationTest.java
index 301f93a..0ecf81b 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverIntegrationTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverIntegrationTest.java
@@ -50,7 +50,6 @@ import javax.jms.Topic;
 import org.apache.qpid.jms.JmsConnection;
 import org.apache.qpid.jms.JmsConnectionFactory;
 import org.apache.qpid.jms.JmsDefaultConnectionListener;
-import org.apache.qpid.jms.JmsMessageProducer;
 import org.apache.qpid.jms.JmsOperationTimedOutException;
 import org.apache.qpid.jms.JmsSendTimedOutException;
 import org.apache.qpid.jms.policy.JmsDefaultPrefetchPolicy;
@@ -1052,8 +1051,7 @@ public class FailoverIntegrationTest extends QpidJmsTestCase {
             Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
             Queue queue = session.createQueue("myQueue");
 
-            // TODO Can change to plain MessageProducer when JMS 2.0 API dependency is added.
-            JmsMessageProducer producer = (JmsMessageProducer) session.createProducer(queue);
+            MessageProducer producer = session.createProducer(queue);
 
             // Create and transfer a new message
             String text = "myMessage";
@@ -1090,8 +1088,7 @@ public class FailoverIntegrationTest extends QpidJmsTestCase {
             Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
             Queue queue = session.createQueue("myQueue");
 
-            // TODO Can change to plain MessageProducer when JMS 2.0 API dependency is added.
-            JmsMessageProducer producer = (JmsMessageProducer) session.createProducer(queue);
+            MessageProducer producer = session.createProducer(queue);
 
             Message message = session.createTextMessage("content");
             testPeer.expectTransfer(new TransferPayloadCompositeMatcher(), nullValue(), false, new Rejected(), true);
@@ -1148,8 +1145,7 @@ public class FailoverIntegrationTest extends QpidJmsTestCase {
             Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
             Queue queue = session.createQueue("myQueue");
 
-            // TODO Can change to plain MessageProducer when JMS 2.0 API dependency is added.
-            JmsMessageProducer producer = (JmsMessageProducer) session.createProducer(queue);
+            MessageProducer producer = session.createProducer(queue);
 
             final int MSG_COUNT = 5;
 


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


[2/2] qpid-jms git commit: QPIDJMS-207 Fix a race condition in a couple tests around closed state

Posted by ta...@apache.org.
QPIDJMS-207 Fix a race condition in a couple tests around closed state

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

Branch: refs/heads/master
Commit: dd6a44f2439224a90e2d47fc4199fa158162d9dc
Parents: 404e044
Author: Timothy Bish <ta...@gmail.com>
Authored: Tue Sep 13 12:54:44 2016 -0400
Committer: Timothy Bish <ta...@gmail.com>
Committed: Tue Sep 13 12:54:44 2016 -0400

----------------------------------------------------------------------
 .../jms/integration/SessionIntegrationTest.java | 25 ++++++++++----------
 1 file changed, 12 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/dd6a44f2/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 fb44710..3cc2bab 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
@@ -34,7 +34,6 @@ 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.CompletionListener;
@@ -1604,12 +1603,12 @@ public class SessionIntegrationTest extends QpidJmsTestCase {
         final String BREAD_CRUMB = "ErrorMessage";
 
         try (TestAmqpPeer testPeer = new TestAmqpPeer();) {
-            final AtomicBoolean sessionClosed = new AtomicBoolean();
+            final CountDownLatch sessionClosed = new CountDownLatch(1);
             JmsConnection connection = (JmsConnection) testFixture.establishConnecton(testPeer);
             connection.addConnectionListener(new JmsDefaultConnectionListener() {
                 @Override
                 public void onSessionClosed(Session session, Exception exception) {
-                    sessionClosed.set(true);
+                    sessionClosed.countDown();
                 }
             });
 
@@ -1644,6 +1643,8 @@ public class SessionIntegrationTest extends QpidJmsTestCase {
                 }
             }, 15000, 10));
 
+            assertTrue("Session closed callback didn't trigger", sessionClosed.await(10, TimeUnit.SECONDS));
+
             // Verify the session is now marked closed
             try {
                 session.getAcknowledgeMode();
@@ -1654,8 +1655,6 @@ 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();
@@ -1707,12 +1706,12 @@ public class SessionIntegrationTest extends QpidJmsTestCase {
         final String BREAD_CRUMB = "ErrorMessage";
 
         try (TestAmqpPeer testPeer = new TestAmqpPeer();) {
-            final AtomicBoolean sessionClosed = new AtomicBoolean();
+            final CountDownLatch sessionClosed = new CountDownLatch(1);
             JmsConnection connection = (JmsConnection) testFixture.establishConnecton(testPeer);
             connection.addConnectionListener(new JmsDefaultConnectionListener() {
                 @Override
                 public void onSessionClosed(Session session, Exception exception) {
-                    sessionClosed.set(true);
+                    sessionClosed.countDown();
                 }
             });
 
@@ -1752,6 +1751,8 @@ public class SessionIntegrationTest extends QpidJmsTestCase {
             assertEquals(MSG_COUNT, listener.errorCount);
             assertEquals(0, listener.successCount);
 
+            assertTrue("Session closed callback didn't trigger", sessionClosed.await(10, TimeUnit.SECONDS));
+
             // Verify the session is now marked closed
             try {
                 session.getAcknowledgeMode();
@@ -1762,8 +1763,6 @@ public class SessionIntegrationTest extends QpidJmsTestCase {
                 assertTrue(errorMessage.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();
@@ -1778,12 +1777,12 @@ public class SessionIntegrationTest extends QpidJmsTestCase {
         final String BREAD_CRUMB = "ErrorMessage";
 
         try (TestAmqpPeer testPeer = new TestAmqpPeer();) {
-            final AtomicBoolean sessionClosed = new AtomicBoolean();
+            final CountDownLatch sessionClosed = new CountDownLatch(1);
             JmsConnection connection = (JmsConnection) testFixture.establishConnecton(testPeer);
             connection.addConnectionListener(new JmsDefaultConnectionListener() {
                 @Override
                 public void onSessionClosed(Session session, Exception exception) {
-                    sessionClosed.set(true);
+                    sessionClosed.countDown();
                 }
             });
 
@@ -1818,6 +1817,8 @@ public class SessionIntegrationTest extends QpidJmsTestCase {
                 }
             }, 15000, 10));
 
+            assertTrue("Session closed callback didn't trigger", sessionClosed.await(10, TimeUnit.SECONDS));
+
             // Verify the session is now marked closed
             try {
                 session.getAcknowledgeMode();
@@ -1828,8 +1829,6 @@ 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();


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