You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by bu...@apache.org on 2019/10/30 02:25:04 UTC
[cxf] branch master updated: cxf-rt-transports-jms: move test
specific JMSUtil#getNumMessages
This is an automated email from the ASF dual-hosted git repository.
buhhunyx pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cxf.git
The following commit(s) were added to refs/heads/master by this push:
new 6771507 cxf-rt-transports-jms: move test specific JMSUtil#getNumMessages
6771507 is described below
commit 67715076cb7d245aaf2d3a2442a40349d354e323
Author: Alexey Markevich <bu...@gmail.com>
AuthorDate: Tue Oct 29 17:16:06 2019 +0300
cxf-rt-transports-jms: move test specific JMSUtil#getNumMessages
---
.../org/apache/cxf/transport/jms/util/JMSUtil.java | 16 ------------
.../transport/jms/util/MessageListenerTest.java | 24 +++++++++++------
.../cxf/systest/jms/tx/JMSTransactionTest.java | 30 ++++++++++++++--------
3 files changed, 36 insertions(+), 34 deletions(-)
diff --git a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/util/JMSUtil.java b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/util/JMSUtil.java
index 6f0d97e..95cbef9 100644
--- a/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/util/JMSUtil.java
+++ b/rt/transports/jms/src/main/java/org/apache/cxf/transport/jms/util/JMSUtil.java
@@ -18,8 +18,6 @@
*/
package org.apache.cxf.transport.jms.util;
-import java.util.Enumeration;
-
import javax.jms.BytesMessage;
import javax.jms.Connection;
import javax.jms.Destination;
@@ -28,7 +26,6 @@ import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.ObjectMessage;
import javax.jms.Queue;
-import javax.jms.QueueBrowser;
import javax.jms.Session;
import org.apache.cxf.message.Exchange;
@@ -142,17 +139,4 @@ public final class JMSUtil {
}
}
- public static int getNumMessages(Connection connection, Queue queue) throws JMSException {
- Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
- QueueBrowser browser = session.createBrowser(queue);
- @SuppressWarnings("unchecked")
- Enumeration<Message> messages = browser.getEnumeration();
- int actualNum = 0;
- while (messages.hasMoreElements()) {
- actualNum++;
- messages.nextElement();
- }
- browser.close();
- return actualNum;
- }
}
diff --git a/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/util/MessageListenerTest.java b/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/util/MessageListenerTest.java
index dc56425..37d0d91 100644
--- a/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/util/MessageListenerTest.java
+++ b/rt/transports/jms/src/test/java/org/apache/cxf/transport/jms/util/MessageListenerTest.java
@@ -18,6 +18,8 @@
*/
package org.apache.cxf.transport.jms.util;
+import java.util.Enumeration;
+
import javax.jms.Connection;
import javax.jms.Destination;
import javax.jms.ExceptionListener;
@@ -26,6 +28,7 @@ import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.MessageProducer;
import javax.jms.Queue;
+import javax.jms.QueueBrowser;
import javax.jms.Session;
import javax.jms.TextMessage;
import javax.transaction.TransactionManager;
@@ -197,19 +200,24 @@ public class MessageListenerTest {
}
private static void assertNumMessagesInQueue(String message, Connection connection, Queue queue,
- int expectedNum, long timeout) throws JMSException,
- InterruptedException {
- long startTime = System.currentTimeMillis();
- int actualNum;
- do {
- actualNum = JMSUtil.getNumMessages(connection, queue);
+ int expectedNum, long timeout) throws JMSException, InterruptedException {
+ Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ QueueBrowser browser = session.createBrowser(queue);
+ int actualNum = 0;
+ for (long startTime = System.currentTimeMillis(); System.currentTimeMillis() - startTime < timeout;
+ Thread.sleep(100L)) {
+ actualNum = 0;
+ for (Enumeration<?> messages = browser.getEnumeration(); messages.hasMoreElements(); actualNum++) {
+ messages.nextElement();
+ }
if (actualNum == expectedNum) {
break;
}
//System.out.println("Messages in queue " + queue.getQueueName() + ": " + actualNum
// + ", expecting: " + expectedNum);
- Thread.sleep(100L);
- } while ((System.currentTimeMillis() - startTime < timeout) && expectedNum != actualNum);
+ }
+ browser.close();
+ session.close();
assertEquals(message + " -> number of messages on queue", expectedNum, actualNum);
}
diff --git a/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/tx/JMSTransactionTest.java b/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/tx/JMSTransactionTest.java
index 4c4d85e..d27a56d 100644
--- a/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/tx/JMSTransactionTest.java
+++ b/systests/transport-jms/src/test/java/org/apache/cxf/systest/jms/tx/JMSTransactionTest.java
@@ -19,10 +19,13 @@
package org.apache.cxf.systest.jms.tx;
import java.util.Collections;
+import java.util.Enumeration;
import javax.jms.Connection;
import javax.jms.JMSException;
import javax.jms.Queue;
+import javax.jms.QueueBrowser;
+import javax.jms.Session;
import javax.transaction.TransactionManager;
import javax.transaction.xa.XAException;
@@ -148,18 +151,25 @@ public class JMSTransactionTest extends AbstractVmJMSTest {
return (Greeter)markForClose(factory.create());
}
- private void assertNumMessagesInQueue(String message, Connection connection, Queue queue,
- int expectedNum, int timeout) throws JMSException,
- InterruptedException {
- long startTime = System.currentTimeMillis();
- int actualNum;
- do {
- actualNum = JMSUtil.getNumMessages(connection, queue);
-
+ private static void assertNumMessagesInQueue(String message, Connection connection, Queue queue,
+ int expectedNum, int timeout) throws JMSException, InterruptedException {
+ Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ QueueBrowser browser = session.createBrowser(queue);
+ int actualNum = 0;
+ for (long startTime = System.currentTimeMillis(); System.currentTimeMillis() - startTime < timeout;
+ Thread.sleep(100L)) {
+ actualNum = 0;
+ for (Enumeration<?> messages = browser.getEnumeration(); messages.hasMoreElements(); actualNum++) {
+ messages.nextElement();
+ }
+ if (actualNum == expectedNum) {
+ break;
+ }
//System.out.println("Messages in queue " + queue.getQueueName() + ": " + actualNum
// + ", expecting: " + expectedNum);
- Thread.sleep(100);
- } while ((System.currentTimeMillis() - startTime < timeout) && expectedNum != actualNum);
+ }
+ browser.close();
+ session.close();
Assert.assertEquals(message + " -> number of messages", expectedNum, actualNum);
}