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