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);
     }