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

jbonofre pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq.git


The following commit(s) were added to refs/heads/main by this push:
     new 2b52c389a9 Spring tests: refactor listener and broker config to use 
ephemeral ports (#1672)
2b52c389a9 is described below

commit 2b52c389a9e9b71b1bcdf5ef458f9f7e059862d4
Author: Jean-Louis Monteiro <[email protected]>
AuthorDate: Thu Feb 12 10:33:14 2026 +0100

    Spring tests: refactor listener and broker config to use ephemeral ports 
(#1672)
---
 .../org/apache/activemq/spring/ListenerTest.java   | 47 +++++++++++-----------
 .../src/test/resources/spring/spring.xml           |  9 +----
 2 files changed, 25 insertions(+), 31 deletions(-)

diff --git 
a/activemq-spring/src/test/java/org/apache/activemq/spring/ListenerTest.java 
b/activemq-spring/src/test/java/org/apache/activemq/spring/ListenerTest.java
index ab1e949ec7..b18bde8217 100644
--- a/activemq-spring/src/test/java/org/apache/activemq/spring/ListenerTest.java
+++ b/activemq-spring/src/test/java/org/apache/activemq/spring/ListenerTest.java
@@ -32,57 +32,56 @@ import jakarta.annotation.Resource;
 import jakarta.jms.*;
 
 @RunWith(SpringJUnit4ClassRunner.class)
-
 @ContextConfiguration(locations = {"classpath:spring/spring.xml"})
 @Transactional
 @Commit
 public class ListenerTest {
     private static final Logger LOG = 
LoggerFactory.getLogger(ListenerTest.class);
 
-    int msgNum = 10;
+    private static final int MSG_NUM = 10;
 
-    protected String bindAddress = "vm://localhost";    
+    @Resource
+    private Listener listener;
 
     @Resource
-    Listener listener;
+    private ConnectionFactory connectionFactory;
 
     @Test
     @DirtiesContext
     public void testSimple() throws Exception {
-        sendMessages("SIMPLE", msgNum);
+        sendMessages("SIMPLE", MSG_NUM);
 
-        Thread.sleep(3000);
+        Assert.assertTrue("Expected " + MSG_NUM + " messages but got " + 
listener.messages.size(),
+            Wait.waitFor(() -> MSG_NUM == listener.messages.size(), 60_000));
 
         LOG.info("messages received= " + listener.messages.size());
-        Assert.assertEquals(msgNum, listener.messages.size());
     }
 
 
     @Test
     @DirtiesContext
     public void testComposite() throws Exception {
-        sendMessages("TEST.1,TEST.2,TEST.3,TEST.4,TEST.5,TEST.6", msgNum);
+        final int expectedMessages = 6 * MSG_NUM;
+        sendMessages("TEST.1,TEST.2,TEST.3,TEST.4,TEST.5,TEST.6", MSG_NUM);
 
-        Wait.waitFor(new Wait.Condition() {
-            public boolean isSatisified() throws Exception {
-                return (6 * msgNum) == listener.messages.size();
-            }
-        });
+        Assert.assertTrue("Expected " + expectedMessages + " messages but got 
" + listener.messages.size(),
+            Wait.waitFor(() -> expectedMessages == listener.messages.size(), 
120_000));
 
         LOG.info("messages received= " + listener.messages.size());
-        Assert.assertEquals(6 * msgNum, listener.messages.size());
     }
 
-    public void sendMessages(String destName, int msgNum) throws Exception {
-        ConnectionFactory factory = new 
org.apache.activemq.ActiveMQConnectionFactory("tcp://localhost:61616");
-        Connection conn = factory.createConnection();
-        Session sess = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
-        Destination dest = sess.createQueue(destName);
-        MessageProducer producer = sess.createProducer(dest);
-        for (int i = 0; i < msgNum; i++) {
-            String messageText = i +" test";
-            LOG.info("sending message '" + messageText + "'");
-            producer.send(sess.createTextMessage(messageText));
+    private void sendMessages(String destName, int messageCount) throws 
Exception {
+        try (Connection conn = connectionFactory.createConnection()) {
+            conn.start();
+            final Session sess = conn.createSession(false, 
Session.AUTO_ACKNOWLEDGE);
+            final Destination dest = sess.createQueue(destName);
+            final MessageProducer producer = sess.createProducer(dest);
+            for (int i = 0; i < messageCount; i++) {
+                final String messageText = i + " test";
+                LOG.info("sending message '{}' to {}", messageText, destName);
+                producer.send(sess.createTextMessage(messageText));
+            }
+            LOG.info("Sent {} messages to {}", messageCount, destName);
         }
     }
 
diff --git a/activemq-spring/src/test/resources/spring/spring.xml 
b/activemq-spring/src/test/resources/spring/spring.xml
index d390bee697..c850abf8b6 100644
--- a/activemq-spring/src/test/resources/spring/spring.xml
+++ b/activemq-spring/src/test/resources/spring/spring.xml
@@ -25,23 +25,18 @@
        http://www.springframework.org/schema/tx 
http://www.springframework.org/schema/tx/spring-tx.xsd
        http://activemq.apache.org/schema/core 
http://activemq.apache.org/schema/core/activemq-core.xsd";>
 
-    <amq:broker brokerName="test" useJmx="true" persistent="false">
+    <amq:broker brokerName="test" useJmx="false" persistent="false">
         <amq:managementContext>
             <amq:managementContext createConnector="false" />
         </amq:managementContext>
-
-        <amq:transportConnectors>
-            <amq:transportConnector name="transport" 
uri="nio://0.0.0.0:61616"/>
-        </amq:transportConnectors>
     </amq:broker>
 
-
     <bean id="connectionFactory" 
class="org.apache.activemq.pool.PooledConnectionFactory" destroy-method="stop">
         <property name="maxConnections" value="100"/>
         <property name="maximumActiveSessionPerConnection" value="50"/>
         <property name="connectionFactory">
             <bean class="org.apache.activemq.ActiveMQConnectionFactory">
-                <property name="brokerURL" value="tcp://localhost:61616"/>
+                <property name="brokerURL" value="vm://test"/>
             </bean>
         </property>
     </bean>


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact


Reply via email to