You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by fm...@apache.org on 2026/03/31 13:16:09 UTC

(camel-kafka-connector) 01/05: Switch SJMS2 tests from DispatchRouter to embedded Artemis AMQP

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

fmariani pushed a commit to branch fix/integration-tests-kafka-391
in repository https://gitbox.apache.org/repos/asf/camel-kafka-connector.git

commit 55ce6a556cbc0278645e871838194a93e78f1feb
Author: Croway <fe...@gmail.com>
AuthorDate: Tue Mar 31 13:39:54 2026 +0200

    Switch SJMS2 tests from DispatchRouter to embedded Artemis AMQP
    
    The qdrouterd container image (quay.io/interconnectedcloud/qdrouterd)
    has not been updated since Nov 2021 and the Apache Qpid Dispatch Router
    project is retired. This caused all SJMS2 integration tests to timeout
    on CI as the connector could never initialize against the stale broker.
    
    Replace camel-test-infra-dispatch-router with camel-test-infra-artemis
    using ArtemisAMQPService, which provides an embedded AMQP broker with
    no container dependency. The QPID JMS client and AMQP protocol are
    unchanged — only the broker backend switches.
---
 tests/itests-sjms2/pom.xml                                 |  9 +--------
 .../camel/kafkaconnector/sjms2/common/SJMS2Common.java     | 10 ++++------
 .../sjms2/sink/CamelSinkIdempotentJMSITCase.java           | 14 +++++---------
 .../kafkaconnector/sjms2/sink/CamelSinkJMSITCase.java      | 14 +++++---------
 .../kafkaconnector/sjms2/source/CamelSourceJMSITCase.java  | 12 ++++--------
 .../sjms2/source/CamelSourceJMSWithAggregation.java        | 12 ++++--------
 6 files changed, 23 insertions(+), 48 deletions(-)

diff --git a/tests/itests-sjms2/pom.xml b/tests/itests-sjms2/pom.xml
index 6c48bd2c0a..e8445cff67 100644
--- a/tests/itests-sjms2/pom.xml
+++ b/tests/itests-sjms2/pom.xml
@@ -46,14 +46,7 @@
 
         <dependency>
             <groupId>org.apache.camel</groupId>
-            <artifactId>camel-test-infra-messaging-common</artifactId>
-            <version>${camel.version}</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-test-infra-dispatch-router</artifactId>
+            <artifactId>camel-test-infra-artemis</artifactId>
             <version>${camel.version}</version>
             <scope>test</scope>
         </dependency>
diff --git a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/common/SJMS2Common.java b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/common/SJMS2Common.java
index 81a527f98d..042431247b 100644
--- a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/common/SJMS2Common.java
+++ b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/common/SJMS2Common.java
@@ -17,8 +17,8 @@
 
 package org.apache.camel.kafkaconnector.sjms2.common;
 
-import org.apache.camel.test.infra.dispatch.router.services.DispatchRouterContainer;
-import org.apache.camel.test.infra.messaging.services.MessagingServiceFactory;
+import org.apache.camel.test.infra.artemis.services.ArtemisService;
+import org.apache.camel.test.infra.artemis.services.ArtemisServiceFactory;
 
 public final class SJMS2Common {
     /**
@@ -30,9 +30,7 @@ public final class SJMS2Common {
 
     }
 
-    public static MessagingServiceFactory.MessagingLocalContainerService<DispatchRouterContainer> createLocalService() {
-        DispatchRouterContainer container = new DispatchRouterContainer();
-
-        return new MessagingServiceFactory.MessagingLocalContainerService<>(container, c -> container.defaultEndpoint());
+    public static ArtemisService createJMSService() {
+        return ArtemisServiceFactory.createAMQPService();
     }
 }
diff --git a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/sink/CamelSinkIdempotentJMSITCase.java b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/sink/CamelSinkIdempotentJMSITCase.java
index a36aa8b027..8d36752b56 100644
--- a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/sink/CamelSinkIdempotentJMSITCase.java
+++ b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/sink/CamelSinkIdempotentJMSITCase.java
@@ -34,8 +34,7 @@ import org.apache.camel.kafkaconnector.common.test.CamelSinkTestSupport;
 import org.apache.camel.kafkaconnector.sjms2.clients.JMSClient;
 import org.apache.camel.kafkaconnector.sjms2.common.SJMS2Common;
 import org.apache.camel.test.infra.common.TestUtils;
-import org.apache.camel.test.infra.messaging.services.MessagingService;
-import org.apache.camel.test.infra.messaging.services.MessagingServiceFactory;
+import org.apache.camel.test.infra.artemis.services.ArtemisService;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.TestInstance;
@@ -53,10 +52,7 @@ import static org.junit.jupiter.api.Assertions.fail;
 @TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class CamelSinkIdempotentJMSITCase extends CamelSinkTestSupport {
     @RegisterExtension
-    public static MessagingService jmsService = MessagingServiceFactory
-            .builder()
-            .addLocalMapping(SJMS2Common::createLocalService)
-            .build();
+    public static ArtemisService jmsService = SJMS2Common.createJMSService();
 
     private static final Logger LOG = LoggerFactory.getLogger(CamelSinkIdempotentJMSITCase.class);
 
@@ -69,7 +65,7 @@ public class CamelSinkIdempotentJMSITCase extends CamelSinkTestSupport {
         Properties properties = new Properties();
 
         properties.put("camel.component.sjms2.connection-factory", "#class:org.apache.qpid.jms.JmsConnectionFactory");
-        properties.put("camel.component.sjms2.connection-factory.remoteURI", jmsService.defaultEndpoint());
+        properties.put("camel.component.sjms2.connection-factory.remoteURI", jmsService.brokerUrl());
 
         return properties;
     }
@@ -81,7 +77,7 @@ public class CamelSinkIdempotentJMSITCase extends CamelSinkTestSupport {
 
     @BeforeEach
     public void setUp() {
-        LOG.info("JMS service running at {}", jmsService.defaultEndpoint());
+        LOG.info("JMS service running at {}", jmsService.brokerUrl());
         received = 0;
 
         topic = getTopicForTest(this);
@@ -94,7 +90,7 @@ public class CamelSinkIdempotentJMSITCase extends CamelSinkTestSupport {
         JMSClient jmsClient = null;
 
         try {
-            jmsClient = JMSClient.newClient(jmsService.defaultEndpoint());
+            jmsClient = JMSClient.newClient(jmsService.brokerUrl());
             jmsClient.start();
 
             try (MessageConsumer consumer = jmsClient.createConsumer(destinationName)) {
diff --git a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/sink/CamelSinkJMSITCase.java b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/sink/CamelSinkJMSITCase.java
index 4bc118724a..afa22fc2f2 100644
--- a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/sink/CamelSinkJMSITCase.java
+++ b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/sink/CamelSinkJMSITCase.java
@@ -29,8 +29,7 @@ import org.apache.camel.kafkaconnector.common.ConnectorPropertyFactory;
 import org.apache.camel.kafkaconnector.common.test.CamelSinkTestSupport;
 import org.apache.camel.kafkaconnector.sjms2.clients.JMSClient;
 import org.apache.camel.kafkaconnector.sjms2.common.SJMS2Common;
-import org.apache.camel.test.infra.messaging.services.MessagingService;
-import org.apache.camel.test.infra.messaging.services.MessagingServiceFactory;
+import org.apache.camel.test.infra.artemis.services.ArtemisService;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.TestInstance;
@@ -48,10 +47,7 @@ import static org.junit.jupiter.api.Assertions.fail;
 @TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class CamelSinkJMSITCase extends CamelSinkTestSupport {
     @RegisterExtension
-    public static MessagingService jmsService = MessagingServiceFactory
-            .builder()
-            .addLocalMapping(SJMS2Common::createLocalService)
-            .build();
+    public static ArtemisService jmsService = SJMS2Common.createJMSService();
 
     private static final Logger LOG = LoggerFactory.getLogger(CamelSinkJMSITCase.class);
 
@@ -63,7 +59,7 @@ public class CamelSinkJMSITCase extends CamelSinkTestSupport {
         Properties properties = new Properties();
 
         properties.put("camel.component.sjms2.connection-factory", "#class:org.apache.qpid.jms.JmsConnectionFactory");
-        properties.put("camel.component.sjms2.connection-factory.remoteURI", jmsService.defaultEndpoint());
+        properties.put("camel.component.sjms2.connection-factory.remoteURI", jmsService.brokerUrl());
 
         return properties;
     }
@@ -75,7 +71,7 @@ public class CamelSinkJMSITCase extends CamelSinkTestSupport {
 
     @BeforeEach
     public void setUp() {
-        LOG.info("JMS service running at {}", jmsService.defaultEndpoint());
+        LOG.info("JMS service running at {}", jmsService.brokerUrl());
         received = 0;
 
         topicName = getTopicForTest(this);
@@ -117,7 +113,7 @@ public class CamelSinkJMSITCase extends CamelSinkTestSupport {
         JMSClient jmsClient = null;
 
         try {
-            jmsClient = JMSClient.newClient(jmsService.defaultEndpoint());
+            jmsClient = JMSClient.newClient(jmsService.brokerUrl());
 
             jmsClient.start();
             try (MessageConsumer consumer = jmsClient.createConsumer(SJMS2Common.DEFAULT_JMS_QUEUE)) {
diff --git a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/source/CamelSourceJMSITCase.java b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/source/CamelSourceJMSITCase.java
index ffbee128cd..9ea24b718a 100644
--- a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/source/CamelSourceJMSITCase.java
+++ b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/source/CamelSourceJMSITCase.java
@@ -27,8 +27,7 @@ import org.apache.camel.kafkaconnector.common.test.IntegerMessageConsumer;
 import org.apache.camel.kafkaconnector.common.test.TestMessageConsumer;
 import org.apache.camel.kafkaconnector.sjms2.clients.JMSClient;
 import org.apache.camel.kafkaconnector.sjms2.common.SJMS2Common;
-import org.apache.camel.test.infra.messaging.services.MessagingService;
-import org.apache.camel.test.infra.messaging.services.MessagingServiceFactory;
+import org.apache.camel.test.infra.artemis.services.ArtemisService;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -46,10 +45,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 @TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class CamelSourceJMSITCase extends CamelSourceTestSupport {
     @RegisterExtension
-    public static MessagingService jmsService = MessagingServiceFactory
-            .builder()
-            .addLocalMapping(SJMS2Common::createLocalService)
-            .build();
+    public static ArtemisService jmsService = SJMS2Common.createJMSService();
 
     private String topicName;
     private final int expect = 10;
@@ -59,7 +55,7 @@ public class CamelSourceJMSITCase extends CamelSourceTestSupport {
         Properties properties = new Properties();
 
         properties.put("camel.component.sjms2.connection-factory", "#class:org.apache.qpid.jms.JmsConnectionFactory");
-        properties.put("camel.component.sjms2.connection-factory.remoteURI", jmsService.defaultEndpoint());
+        properties.put("camel.component.sjms2.connection-factory.remoteURI", jmsService.brokerUrl());
 
         return properties;
     }
@@ -77,7 +73,7 @@ public class CamelSourceJMSITCase extends CamelSourceTestSupport {
 
     @BeforeAll
     public void setupClient() {
-        jmsClient = JMSClient.newClient(jmsService.defaultEndpoint());
+        jmsClient = JMSClient.newClient(jmsService.brokerUrl());
     }
 
     @Override
diff --git a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/source/CamelSourceJMSWithAggregation.java b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/source/CamelSourceJMSWithAggregation.java
index e2e130ec65..9cfa41bb23 100644
--- a/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/source/CamelSourceJMSWithAggregation.java
+++ b/tests/itests-sjms2/src/test/java/org/apache/camel/kafkaconnector/sjms2/source/CamelSourceJMSWithAggregation.java
@@ -28,8 +28,7 @@ import org.apache.camel.kafkaconnector.common.test.TestMessageConsumer;
 import org.apache.camel.kafkaconnector.sjms2.clients.JMSClient;
 import org.apache.camel.kafkaconnector.sjms2.common.SJMS2Common;
 import org.apache.camel.test.infra.common.TestUtils;
-import org.apache.camel.test.infra.messaging.services.MessagingService;
-import org.apache.camel.test.infra.messaging.services.MessagingServiceFactory;
+import org.apache.camel.test.infra.artemis.services.ArtemisService;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
@@ -43,10 +42,7 @@ import static org.junit.jupiter.api.Assertions.fail;
 @TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class CamelSourceJMSWithAggregation extends CamelSourceTestSupport {
     @RegisterExtension
-    public static MessagingService jmsService = MessagingServiceFactory
-            .builder()
-            .addLocalMapping(SJMS2Common::createLocalService)
-            .build();
+    public static ArtemisService jmsService = SJMS2Common.createJMSService();
 
     private final int sentSize = 10;
     private final int expect = 1;
@@ -83,7 +79,7 @@ public class CamelSourceJMSWithAggregation extends CamelSourceTestSupport {
         Properties properties = new Properties();
 
         properties.put("camel.component.sjms2.connection-factory", "#class:org.apache.qpid.jms.JmsConnectionFactory");
-        properties.put("camel.component.sjms2.connection-factory.remoteURI", jmsService.defaultEndpoint());
+        properties.put("camel.component.sjms2.connection-factory.remoteURI", jmsService.brokerUrl());
 
         return properties;
     }
@@ -95,7 +91,7 @@ public class CamelSourceJMSWithAggregation extends CamelSourceTestSupport {
 
     @BeforeAll
     public void setupClient() {
-        jmsClient = JMSClient.newClient(jmsService.defaultEndpoint());
+        jmsClient = JMSClient.newClient(jmsService.brokerUrl());
 
         for (int i = 0; i < sentSize - 1; i++) {
             expectedMessage += "hello;\n";