This is an automated email from the ASF dual-hosted git repository. clebertsuconic pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git
commit a1e93b5a62c077cc553fb9bbab2a0673e4fab1a9 Author: Clebert Suconic <[email protected]> AuthorDate: Wed Jan 8 12:24:55 2025 -0500 ARTEMIS-5232 Removing RedeliveryPolicyTest::testRepeatedRedeliveryServerSessionNoCommit This test makes no sense to me. This Wait.assertEquals seems to be doing just a regular sleep. If I actually properly fixed the test with assertTrue on this Wait clause the test would always fail. Meaning the test is completely broken. Since this test is not actually testing anything I'm just removing it as other tests are already validating redeliveries --- .../org/apache/activemq/RedeliveryPolicyTest.java | 84 ---------------------- 1 file changed, 84 deletions(-) diff --git a/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/RedeliveryPolicyTest.java b/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/RedeliveryPolicyTest.java index 16bd4310a3..4e64d45ef2 100644 --- a/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/RedeliveryPolicyTest.java +++ b/tests/activemq5-unit-tests/src/test/java/org/apache/activemq/RedeliveryPolicyTest.java @@ -16,13 +16,8 @@ */ package org.apache.activemq; -import javax.jms.JMSException; -import javax.jms.Message; import javax.jms.MessageConsumer; -import javax.jms.MessageListener; import javax.jms.MessageProducer; -import javax.jms.ServerSession; -import javax.jms.ServerSessionPool; import javax.jms.Session; import javax.jms.TextMessage; import java.util.concurrent.CountDownLatch; @@ -36,7 +31,6 @@ import org.apache.activemq.command.ActiveMQMessage; import org.apache.activemq.command.ActiveMQQueue; import org.apache.activemq.command.ActiveMQTextMessage; import org.apache.activemq.command.ActiveMQTopic; -import org.apache.activemq.util.Wait; public class RedeliveryPolicyTest extends JmsTestSupport { @@ -494,84 +488,6 @@ public class RedeliveryPolicyTest extends JmsTestSupport { } - public void testRepeatedRedeliveryServerSessionNoCommit() throws Exception { - - connection.start(); - Session dlqSession = connection.createSession(true, Session.SESSION_TRANSACTED); - ActiveMQQueue destination = new ActiveMQQueue("TEST"); - MessageProducer producer = dlqSession.createProducer(destination); - - // Send the messages - producer.send(dlqSession.createTextMessage("1st")); - - dlqSession.commit(); - MessageConsumer dlqConsumer = dlqSession.createConsumer(new ActiveMQQueue("ActiveMQ.DLQ")); - - final int maxRedeliveries = 4; - final AtomicInteger receivedCount = new AtomicInteger(0); - - for (int i = 0; i <= maxRedeliveries + 1; i++) { - - connection = (ActiveMQConnection) factory.createConnection(userName, password); - connections.add(connection); - - RedeliveryPolicy policy = connection.getRedeliveryPolicy(); - policy.setInitialRedeliveryDelay(0); - policy.setUseExponentialBackOff(false); - policy.setMaximumRedeliveries(maxRedeliveries); - - connection.start(); - final CountDownLatch done = new CountDownLatch(1); - - final ActiveMQSession session = (ActiveMQSession) connection.createSession(true, Session.SESSION_TRANSACTED); - session.setMessageListener(message -> { - try { - ActiveMQTextMessage m = (ActiveMQTextMessage) message; - assertEquals("1st", m.getText()); - assertEquals(receivedCount.get(), m.getRedeliveryCounter()); - receivedCount.incrementAndGet(); - done.countDown(); - } catch (Exception ignored) { - ignored.printStackTrace(); - } - }); - - connection.createConnectionConsumer(destination, null, () -> new ServerSession() { - @Override - public Session getSession() throws JMSException { - return session; - } - - @Override - public void start() throws JMSException { - } - }, 100, false); - - Wait.waitFor(() -> { - session.run(); - return done.await(10, TimeUnit.MILLISECONDS); - }); - - if (i <= maxRedeliveries) { - assertTrue("listener done @" + i, done.await(5, TimeUnit.SECONDS)); - } else { - // final redlivery gets poisoned before dispatch - assertFalse("listener not done @" + i, done.await(1, TimeUnit.SECONDS)); - } - connection.close(); - connections.remove(connection); - } - - // We should be able to get the message off the DLQ now. - TextMessage m = (TextMessage) dlqConsumer.receive(1000); - assertNotNull("Got message from DLQ", m); - assertEquals("1st", m.getText()); - String cause = m.getStringProperty(ActiveMQMessage.DLQ_DELIVERY_FAILURE_CAUSE_PROPERTY); - assertTrue("cause exception has policy ref", cause.contains("RedeliveryPolicy")); - dlqSession.commit(); - - } - public void testInitialRedeliveryDelayZero() throws Exception { // Receive a message with the JMS API --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] For further information, visit: https://activemq.apache.org/contact
