This is an automated email from the ASF dual-hosted git repository.

clebertsuconic pushed a commit to branch 2.19.x
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git

commit 1f9b9be16f0aebc057ce64acd6b3fc33e06e25af
Author: Clebert Suconic <[email protected]>
AuthorDate: Mon Oct 11 16:20:55 2021 -0400

    NO-JIRA fixing intermittent failures
    
    (cherry picked from commit 95aa20b6088a316154454726ee4fc46aa574951d)
---
 .../artemis/tests/integration/client/SessionTest.java      | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/SessionTest.java
 
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/SessionTest.java
index 6191db7..c2ffac0 100644
--- 
a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/SessionTest.java
+++ 
b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/client/SessionTest.java
@@ -225,26 +225,32 @@ public class SessionTest extends ActiveMQTestBase {
       } else {
          clientSession.createQueue(new 
QueueConfiguration(queueName).setAddress("a1").setDurable(false));
       }
-      clientSession.createConsumer(queueName);
-      clientSession.createConsumer(queueName);
+      // I'm holding a reference here on purpose to avoid GC and unexpected 
closes.. etc
+      ClientConsumer consumer1 = clientSession.createConsumer(queueName);
+      ClientConsumer consumer2 = clientSession.createConsumer(queueName);
       ClientProducer cp = clientSession.createProducer("a1");
       cp.send(clientSession.createMessage(true));
       cp.send(clientSession.createMessage(true));
 
-      flushQueue();
+      Queue queue = flushQueue();
+      Wait.assertEquals(2, queue::getMessageCount);
+      Wait.assertEquals(2, queue::getConsumerCount);
 
       QueueQuery resp = clientSession.queueQuery(new SimpleString(queueName));
       Assert.assertEquals(new SimpleString("a1"), resp.getAddress());
       Assert.assertEquals(2, resp.getConsumerCount());
       Assert.assertEquals(2, resp.getMessageCount());
       Assert.assertEquals(null, resp.getFilterString());
+      consumer1.close();
+      consumer2.close();
       clientSession.close();
    }
 
-   private void flushQueue() throws Exception {
+   private Queue flushQueue() throws Exception {
       Queue queue = server.locateQueue(SimpleString.toSimpleString(queueName));
       assertNotNull(queue);
       queue.flushExecutor();
+      return queue;
    }
 
    @Test

Reply via email to