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