You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2022/08/18 10:03:13 UTC

[camel] branch main updated (7a63e10c5a6 -> 599865f6ef6)

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

orpiske pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


    from 7a63e10c5a6 CAMEL-18389: camel-jbang - camel ps til list running camel applications.
     new d47bf1b70e9 (chores) camel-jms: remove remaining duplicated code and consolidate pooled tests
     new e3857d681be camel-test-infra-activemq: ensures instances are truly singleton
     new c0cbb44d5d5 camel-test-infra-activemq: fix incorrect casting for persistent instances
     new e7d22af8619 camel-test-infra-activemq: rename data directory for easier debugging
     new f8dcd50bcb3 camel-jms: more adjustments to ensure uniqueness of resources
     new 599865f6ef6 camel-jms: guarantee resource isolation for the transacted tests

The 6 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../jms/ActiveMQOriginalDestinationTest.java       |  10 +-
 .../camel/component/jms/CamelJmsTestHelper.java    | 122 ++-------------------
 .../component/jms/JmsMessageBodySetNullTest.java   |  16 +--
 .../component/jms/JmsRouteRequestReplyTest.java    |   6 +-
 .../jms/SpringJmsRoutingSlipInOutTest.java         |  29 ++++-
 .../issues/JmsConcurrentConsumerInOnlyTest.java    |  13 ++-
 ...etterChannelHandlerRollbackOnExceptionTest.java |  10 +-
 ...ansactedOnExceptionRollbackOnExceptionTest.java |  10 +-
 .../jms/SpringJmsRoutingSlipInOutTest.xml          |   8 +-
 .../activemq/common/ConnectionFactoryHelper.java   |  18 ++-
 .../services/ActiveMQEmbeddedServiceBuilder.java   |  14 ++-
 .../activemq/services/ActiveMQServiceFactory.java  |  81 ++++++++++----
 12 files changed, 167 insertions(+), 170 deletions(-)


[camel] 05/06: camel-jms: more adjustments to ensure uniqueness of resources

Posted by or...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit f8dcd50bcb35d1c208808059982927a70ac670c1
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Thu Aug 18 10:09:05 2022 +0200

    camel-jms: more adjustments to ensure uniqueness of resources
---
 .../jms/ActiveMQOriginalDestinationTest.java       | 10 ++++----
 .../jms/SpringJmsRoutingSlipInOutTest.java         | 27 ++++++++++++++++++++++
 .../jms/SpringJmsRoutingSlipInOutTest.xml          |  2 +-
 3 files changed, 32 insertions(+), 7 deletions(-)

diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/ActiveMQOriginalDestinationTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/ActiveMQOriginalDestinationTest.java
index f8688c22202..36adbebd769 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/ActiveMQOriginalDestinationTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/ActiveMQOriginalDestinationTest.java
@@ -28,14 +28,12 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper;
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.TestInstance;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
 import static org.apache.camel.test.junit5.TestSupport.assertIsInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
-@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class ActiveMQOriginalDestinationTest extends AbstractJMSTest {
 
     protected String componentName = "activemq";
@@ -45,7 +43,7 @@ public class ActiveMQOriginalDestinationTest extends AbstractJMSTest {
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(1);
 
-        template.sendBody("activemq:queue:foo", "Hello World");
+        template.sendBody("activemq:queue:ActiveMQOriginalDestinationTest", "Hello World");
 
         assertMockEndpointsSatisfied();
 
@@ -53,13 +51,13 @@ public class ActiveMQOriginalDestinationTest extends AbstractJMSTest {
         Exchange out = consumer.receive("activemq:queue:bar", 5000);
         assertNotNull(out);
 
-        // and we should have foo as the original destination
+        // and we should have ActiveMQOriginalDestinationTest as the original destination
         JmsMessage msg = out.getIn(JmsMessage.class);
         Message jms = msg.getJmsMessage();
         ActiveMQMessage amq = assertIsInstanceOf(ActiveMQMessage.class, jms);
         ActiveMQDestination original = amq.getOriginalDestination();
         assertNotNull(original);
-        assertEquals("foo", original.getPhysicalName());
+        assertEquals("ActiveMQOriginalDestinationTest", original.getPhysicalName());
         assertEquals("Queue", original.getDestinationTypeAsString());
     }
 
@@ -82,7 +80,7 @@ public class ActiveMQOriginalDestinationTest extends AbstractJMSTest {
         return new RouteBuilder() {
             @Override
             public void configure() {
-                from("activemq:queue:foo")
+                from("activemq:queue:ActiveMQOriginalDestinationTest")
                         .to("activemq:queue:bar")
                         .to("mock:result");
             }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/SpringJmsRoutingSlipInOutTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/SpringJmsRoutingSlipInOutTest.java
index 1a977fb07a1..4075d5e936a 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/SpringJmsRoutingSlipInOutTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/SpringJmsRoutingSlipInOutTest.java
@@ -16,6 +16,9 @@
  */
 package org.apache.camel.component.jms;
 
+import java.util.Map;
+
+import org.apache.camel.Headers;
 import org.apache.camel.test.spring.junit5.CamelSpringTestSupport;
 import org.junit.jupiter.api.Test;
 import org.springframework.context.support.AbstractApplicationContext;
@@ -40,4 +43,28 @@ public class SpringJmsRoutingSlipInOutTest extends CamelSpringTestSupport {
         assertMockEndpointsSatisfied();
     }
 
+    public static final class MyBean {
+
+        public void createSlip(@Headers Map<String, Object> headers) {
+            headers.put("mySlip",
+                    "activemq:queue:SpringJmsRoutingSlipInOutTest.a,activemq:queue:SpringJmsRoutingSlipInOutTest.b");
+        }
+
+        public String backFromSlip(String body) {
+            return "Done-" + body;
+        }
+
+        public String doA(String body) {
+            return "A-" + body;
+        }
+
+        public String doB(String body) {
+            return "B-" + body;
+        }
+
+        public String doResult(String body) {
+            return "Result-" + body;
+        }
+    }
+
 }
diff --git a/components/camel-jms/src/test/resources/org/apache/camel/component/jms/SpringJmsRoutingSlipInOutTest.xml b/components/camel-jms/src/test/resources/org/apache/camel/component/jms/SpringJmsRoutingSlipInOutTest.xml
index 85bf5d63749..8975475f46a 100644
--- a/components/camel-jms/src/test/resources/org/apache/camel/component/jms/SpringJmsRoutingSlipInOutTest.xml
+++ b/components/camel-jms/src/test/resources/org/apache/camel/component/jms/SpringJmsRoutingSlipInOutTest.xml
@@ -24,7 +24,7 @@
        http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd
     ">
 
-    <bean id="myBean" class="org.apache.camel.component.jms.JmsRoutingSlipInOutTest$MyBean"/>
+    <bean id="myBean" class="org.apache.camel.component.jms.SpringJmsRoutingSlipInOutTest$MyBean"/>
 
     <bean id="activemq" class="org.apache.camel.component.jms.JmsComponent">
         <property name="connectionFactory">


[camel] 02/06: camel-test-infra-activemq: ensures instances are truly singleton

Posted by or...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit e3857d681be532bd6ce5c292e7db509e091efcd3
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Thu Aug 18 09:54:29 2022 +0200

    camel-test-infra-activemq: ensures instances are truly singleton
---
 .../services/ActiveMQEmbeddedServiceBuilder.java   | 12 +++-
 .../activemq/services/ActiveMQServiceFactory.java  | 81 ++++++++++++++++------
 2 files changed, 69 insertions(+), 24 deletions(-)

diff --git a/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQEmbeddedServiceBuilder.java b/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQEmbeddedServiceBuilder.java
index 27b6eac6e85..f421925062a 100644
--- a/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQEmbeddedServiceBuilder.java
+++ b/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQEmbeddedServiceBuilder.java
@@ -600,17 +600,23 @@ public class ActiveMQEmbeddedServiceBuilder {
         return new ActiveMQEmbeddedServiceBuilder();
     }
 
+    private static String generateDataDirectoryPathForInstance(String name) {
+        return ActiveMQEmbeddedServiceBuilder.class.getResource("/").getFile() + name
+               + ThreadLocalRandom.current().nextInt(1000);
+    }
+
     public static ActiveMQEmbeddedServiceBuilder defaultBroker() {
         return defaultBroker(ActiveMQEmbeddedServiceBuilder.class.getSimpleName());
     }
 
     public static ActiveMQEmbeddedServiceBuilder defaultBroker(String name) {
+        final String dataDirectoryPath = generateDataDirectoryPathForInstance(name);
         return new ActiveMQEmbeddedServiceBuilder()
                 .withDeleteAllMessagesOnStartup(true)
                 .withBrokerName(name)
                 .withAdvisorySupport(false)
                 .withUseJmx(false)
-                .withDataDirectory(ActiveMQEmbeddedServiceBuilder.class.getResource("/").getFile());
+                .withDataDirectory(dataDirectoryPath);
     }
 
     public static ActiveMQEmbeddedServiceBuilder persistentBroker() {
@@ -619,7 +625,7 @@ public class ActiveMQEmbeddedServiceBuilder {
     }
 
     public static ActiveMQEmbeddedServiceBuilder persistentBroker(String name) {
-        final String dataDirectory = ActiveMQEmbeddedServiceBuilder.class.getResource("/").getFile() + File.separator + name;
+        final String dataDirectoryPath = generateDataDirectoryPathForInstance(name);
 
         return new ActiveMQEmbeddedServiceBuilder()
                 .withDeleteAllMessagesOnStartup(true)
@@ -627,7 +633,7 @@ public class ActiveMQEmbeddedServiceBuilder {
                 .withAdvisorySupport(false)
                 .withUseJmx(false)
                 .withPersistent(true)
-                .withDataDirectory(dataDirectory);
+                .withDataDirectory(dataDirectoryPath);
     }
 
 }
diff --git a/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQServiceFactory.java b/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQServiceFactory.java
index 07cd13bdf5f..fd26b785e9b 100644
--- a/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQServiceFactory.java
+++ b/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQServiceFactory.java
@@ -63,8 +63,11 @@ public final class ActiveMQServiceFactory {
         }
     }
 
-    private static SimpleTestServiceBuilder<ActiveMQService> instance;
-    private static ActiveMQService service;
+    private static SimpleTestServiceBuilder<ActiveMQService> nonPersistentInstanceBuilder;
+    private static ActiveMQService nonPersistentService;
+
+    private static SimpleTestServiceBuilder<ActiveMQService> persistentInstanceBuilder;
+    private static ActiveMQService persistentService;
 
     private ActiveMQServiceFactory() {
 
@@ -81,51 +84,87 @@ public final class ActiveMQServiceFactory {
                 .build();
     }
 
+    /**
+     * Creates a new instance of an embedded ActiveMQ
+     * 
+     * @return a new instance of an embedded ActiveMQ
+     */
     public static synchronized ActiveMQService createVMService() {
         return createSingletonVMService();
     }
 
+    /**
+     * Creates a new instance of an embedded ActiveMQ. It may use a single instance if possible/supported.
+     * 
+     * @return a new instance of an embedded ActiveMQ
+     */
     public static synchronized ActiveMQService createVMServiceInstance() {
-        if (service == null) {
-            if (instance == null) {
-                instance = new SimpleTestServiceBuilder<>("activemq");
-
-                instance.addLocalMapping(() -> new SingletonActiveMQService(new ActiveMQVMService(), "activemq"));
-            }
-        }
+        SimpleTestServiceBuilder<ActiveMQService> instance = new SimpleTestServiceBuilder<>("activemq");
+        instance.addLocalMapping(ActiveMQVMService::new);
 
         return instance.build();
     }
 
+    /**
+     * Creates or reuses a new singleton instance of an embedded ActiveMQ
+     * 
+     * @return an instance of an embedded ActiveMQ
+     */
     public static synchronized ActiveMQService createSingletonVMService() {
-        if (service == null) {
-            service = createVMServiceInstance();
+        if (nonPersistentService == null) {
+            if (nonPersistentInstanceBuilder == null) {
+                nonPersistentInstanceBuilder = new SimpleTestServiceBuilder<>("activemq");
+
+                nonPersistentInstanceBuilder
+                        .addLocalMapping(() -> new SingletonActiveMQService(new ActiveMQVMService(), "activemq"));
+            }
+
+            nonPersistentService = nonPersistentInstanceBuilder.build();
         }
 
-        return service;
+        return nonPersistentService;
     }
 
+    /**
+     * Creates a new instance of a persistent embedded ActiveMQ. It may use a single instance if possible/supported.
+     * 
+     * @return a new instance of a persistent embedded ActiveMQ
+     */
     public static synchronized ActiveMQService createPersistentVMService() {
         return createSingletonPersistentVMService();
     }
 
+    /**
+     * Creates a new instance of a persistent embedded ActiveMQ
+     * 
+     * @return a new instance of a persistent embedded ActiveMQ
+     */
     public static synchronized ActiveMQService createPersistentVMServiceInstance() {
-        if (service == null) {
-            if (instance == null) {
-                instance = new SimpleTestServiceBuilder<>("activemq");
+        SimpleTestServiceBuilder<ActiveMQService> instance = new SimpleTestServiceBuilder<>("activemq");
 
-                instance.addLocalMapping(() -> new SingletonActiveMQService(new ActiveMQPersistentVMService(), "activemq"));
-            }
-        }
+        instance.addLocalMapping(ActiveMQPersistentVMService::new);
 
         return instance.build();
     }
 
+    /**
+     * Creates or reuses a new singleton instance of a persistent embedded ActiveMQ
+     * 
+     * @return an instance of a persistent embedded ActiveMQ
+     */
     public static synchronized ActiveMQService createSingletonPersistentVMService() {
-        if (service == null) {
-            service = createVMServiceInstance();
+        if (persistentService == null) {
+            if (persistentInstanceBuilder == null) {
+                persistentInstanceBuilder = new SimpleTestServiceBuilder<>("activemq");
+
+                persistentInstanceBuilder
+                        .addLocalMapping(
+                                () -> new SingletonActiveMQService(new ActiveMQPersistentVMService(), "activemq-persistent"));
+            }
+
+            persistentService = persistentInstanceBuilder.build();
         }
 
-        return service;
+        return persistentService;
     }
 }


[camel] 04/06: camel-test-infra-activemq: rename data directory for easier debugging

Posted by or...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit e7d22af861963d132b17f8f7b1eaa3d457766250
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Thu Aug 18 10:07:26 2022 +0200

    camel-test-infra-activemq: rename data directory for easier debugging
---
 .../test/infra/activemq/services/ActiveMQEmbeddedServiceBuilder.java    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQEmbeddedServiceBuilder.java b/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQEmbeddedServiceBuilder.java
index f421925062a..5bdd7df1ce2 100644
--- a/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQEmbeddedServiceBuilder.java
+++ b/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQEmbeddedServiceBuilder.java
@@ -620,7 +620,7 @@ public class ActiveMQEmbeddedServiceBuilder {
     }
 
     public static ActiveMQEmbeddedServiceBuilder persistentBroker() {
-        final String name = ActiveMQEmbeddedServiceBuilder.class.getSimpleName() + ThreadLocalRandom.current().nextInt(1000);
+        final String name = "persistent" + ActiveMQEmbeddedServiceBuilder.class.getSimpleName() + ThreadLocalRandom.current().nextInt(1000);
         return persistentBroker(name);
     }
 


[camel] 03/06: camel-test-infra-activemq: fix incorrect casting for persistent instances

Posted by or...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit c0cbb44d5d51006639fc4eea0261d5c0e7e1dace
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Thu Aug 18 09:54:51 2022 +0200

    camel-test-infra-activemq: fix incorrect casting for persistent instances
---
 .../camel/test/infra/activemq/common/ConnectionFactoryHelper.java     | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/common/ConnectionFactoryHelper.java b/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/common/ConnectionFactoryHelper.java
index ccd382ebdb5..945be1bfc7f 100644
--- a/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/common/ConnectionFactoryHelper.java
+++ b/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/common/ConnectionFactoryHelper.java
@@ -20,9 +20,9 @@ package org.apache.camel.test.infra.activemq.common;
 import javax.jms.ConnectionFactory;
 
 import org.apache.activemq.ActiveMQConnectionFactory;
+import org.apache.camel.test.infra.activemq.services.AbstractActiveMQEmbeddedService;
 import org.apache.camel.test.infra.activemq.services.ActiveMQService;
 import org.apache.camel.test.infra.activemq.services.ActiveMQServiceFactory;
-import org.apache.camel.test.infra.activemq.services.ActiveMQVMService;
 import org.apache.camel.test.infra.activemq.services.ConnectionFactoryAware;
 
 public final class ConnectionFactoryHelper {
@@ -35,7 +35,7 @@ public final class ConnectionFactoryHelper {
 
     public static ConnectionFactory createConnectionFactory(ActiveMQService service, Integer maximumRedeliveries) {
         if (service instanceof ConnectionFactoryAware) {
-            return createConnectionFactory(((ActiveMQVMService) service).getVmURL(), maximumRedeliveries);
+            return createConnectionFactory(((AbstractActiveMQEmbeddedService) service).getVmURL(), maximumRedeliveries);
         }
 
         if (service instanceof ActiveMQServiceFactory.SingletonActiveMQService) {


[camel] 01/06: (chores) camel-jms: remove remaining duplicated code and consolidate pooled tests

Posted by or...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit d47bf1b70e9921ba656783e0e32be015cc198382
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Wed Aug 17 16:55:21 2022 +0200

    (chores) camel-jms: remove remaining duplicated code and consolidate pooled tests
---
 .../camel/component/jms/CamelJmsTestHelper.java    | 122 ++-------------------
 .../component/jms/JmsMessageBodySetNullTest.java   |  16 +--
 .../component/jms/JmsRouteRequestReplyTest.java    |   6 +-
 .../jms/SpringJmsRoutingSlipInOutTest.java         |   2 +-
 .../issues/JmsConcurrentConsumerInOnlyTest.java    |  13 ++-
 ...etterChannelHandlerRollbackOnExceptionTest.java |  12 +-
 ...ansactedOnExceptionRollbackOnExceptionTest.java |  10 +-
 .../jms/SpringJmsRoutingSlipInOutTest.xml          |   6 +-
 .../activemq/common/ConnectionFactoryHelper.java   |  14 +++
 9 files changed, 65 insertions(+), 136 deletions(-)

diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/CamelJmsTestHelper.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/CamelJmsTestHelper.java
index 6303b0b734a..d933b317530 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/CamelJmsTestHelper.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/CamelJmsTestHelper.java
@@ -16,142 +16,36 @@
  */
 package org.apache.camel.component.jms;
 
-import java.io.File;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.concurrent.atomic.AtomicInteger;
-
 import javax.jms.ConnectionFactory;
 
-import org.apache.activemq.ActiveMQConnectionFactory;
 import org.apache.activemq.pool.PooledConnectionFactory;
-import org.apache.camel.util.FileUtil;
-import org.apache.camel.util.URISupport;
+import org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper;
+import org.apache.camel.test.infra.activemq.services.LegacyEmbeddedBroker;
 
 /**
  * A helper for unit testing with Apache ActiveMQ as embedded JMS broker.
  */
 public final class CamelJmsTestHelper {
 
-    private static AtomicInteger counter = new AtomicInteger();
-
     private CamelJmsTestHelper() {
     }
 
+    @Deprecated
     public static PooledConnectionFactory createPooledConnectionFactory() {
-        ConnectionFactory cf = createConnectionFactory(null, null);
+        final String brokerUrl = LegacyEmbeddedBroker.createBrokerUrl();
+        ConnectionFactory cf = ConnectionFactoryHelper.createConnectionFactory(brokerUrl, null);
+
         PooledConnectionFactory pooled = new PooledConnectionFactory();
         pooled.setConnectionFactory(cf);
         pooled.setMaxConnections(8);
         return pooled;
     }
 
-    public static PooledConnectionFactory createPooledPersistentConnectionFactory() {
-        ConnectionFactory cf = createPersistentConnectionFactory();
+    public static PooledConnectionFactory createPooledPersistentConnectionFactory(String brokerUrl) {
+        ConnectionFactory cf = ConnectionFactoryHelper.createPersistentConnectionFactory(brokerUrl);
         PooledConnectionFactory pooled = new PooledConnectionFactory();
         pooled.setConnectionFactory(cf);
         pooled.setMaxConnections(8);
         return pooled;
     }
-
-    @Deprecated
-    public static ConnectionFactory createConnectionFactory() {
-        return createConnectionFactory(null, null);
-    }
-
-    @Deprecated
-    public static ConnectionFactory createConnectionFactory(String options, Integer maximumRedeliveries) {
-        String url = createBrokerUrl(options);
-        ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(url);
-        // optimize AMQ to be as fast as possible so unit testing is quicker
-        connectionFactory.setCopyMessageOnSend(false);
-        connectionFactory.setOptimizeAcknowledge(true);
-        connectionFactory.setOptimizedMessageDispatch(true);
-        // When using asyncSend, producers will not be guaranteed to send in the order we
-        // have in the tests (which may be confusing for queues) so we need this set to false.
-        // Another way of guaranteeing order is to use persistent messages or transactions.
-        connectionFactory.setUseAsyncSend(false);
-        connectionFactory.setAlwaysSessionAsync(false);
-        if (maximumRedeliveries != null) {
-            connectionFactory.getRedeliveryPolicy().setMaximumRedeliveries(maximumRedeliveries);
-        }
-        connectionFactory.setTrustAllPackages(true);
-        return connectionFactory;
-    }
-
-    @Deprecated
-    public static ConnectionFactory createConnectionFactoryForURL(String url, Integer maximumRedeliveries) {
-        ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(url);
-        // optimize AMQ to be as fast as possible so unit testing is quicker
-        connectionFactory.setCopyMessageOnSend(false);
-        connectionFactory.setOptimizeAcknowledge(true);
-        connectionFactory.setOptimizedMessageDispatch(true);
-        // When using asyncSend, producers will not be guaranteed to send in the order we
-        // have in the tests (which may be confusing for queues) so we need this set to false.
-        // Another way of guaranteeing order is to use persistent messages or transactions.
-        connectionFactory.setUseAsyncSend(false);
-        connectionFactory.setAlwaysSessionAsync(false);
-        if (maximumRedeliveries != null) {
-            connectionFactory.getRedeliveryPolicy().setMaximumRedeliveries(maximumRedeliveries);
-        }
-        connectionFactory.setTrustAllPackages(true);
-        return connectionFactory;
-    }
-
-    public static ConnectionFactory createPersistentConnectionFactory() {
-        return createPersistentConnectionFactory(null);
-    }
-
-    public static ConnectionFactory createPersistentConnectionFactory(String options) {
-        String url = createPersistentBrokerUrl(options);
-        ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(url);
-        // optimize AMQ to be as fast as possible so unit testing is quicker
-        connectionFactory.setCopyMessageOnSend(false);
-        connectionFactory.setOptimizeAcknowledge(true);
-        connectionFactory.setOptimizedMessageDispatch(true);
-        connectionFactory.setAlwaysSessionAsync(false);
-        connectionFactory.setTrustAllPackages(true);
-        return connectionFactory;
-    }
-
-    @Deprecated
-    private static String createBrokerUrl(String options) {
-        // using a unique broker name improves testing when running the entire test suite in the same JVM
-        int id = counter.incrementAndGet();
-        Map<String, Object> map = new HashMap<>();
-        map.put("broker.useJmx", false);
-        map.put("broker.persistent", false);
-        return createUri("vm://test-broker-" + id, map, options);
-    }
-
-    public static String createPersistentBrokerUrl() {
-        return createPersistentBrokerUrl(null);
-    }
-
-    public static String createPersistentBrokerUrl(String options) {
-        // using a unique broker name improves testing when running the entire test suite in the same JVM
-        int id = counter.incrementAndGet();
-
-        // use an unique data directory in target
-        String dir = "target/activemq-data-" + id;
-        // remove dir so its empty on startup
-        FileUtil.removeDir(new File(dir));
-
-        Map<String, Object> map = new HashMap<>();
-        map.put("broker.useJmx", false);
-        map.put("broker.persistent", true);
-        map.put("broker.dataDirectory", dir);
-        return createUri("vm://test-broker-" + id, map, options);
-    }
-
-    @Deprecated
-    private static String createUri(String uri, Map<String, Object> map, String options) {
-        try {
-            map.putAll(URISupport.parseQuery(options));
-            return URISupport.appendParametersToURI(uri, map);
-        } catch (Exception e) {
-            throw new IllegalArgumentException(e);
-        }
-    }
-
 }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMessageBodySetNullTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMessageBodySetNullTest.java
index e7b5bf523b8..82b072d040f 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMessageBodySetNullTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMessageBodySetNullTest.java
@@ -35,7 +35,7 @@ public class JmsMessageBodySetNullTest extends AbstractJMSTest {
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() {
-                from("jms:queue:foo")
+                from("jms:queue:JmsMessageBodySetNullTest")
                         .to("mock:foo")
                         .process(exchange -> exchange.getIn().setBody(null))
                         .to("mock:bar");
@@ -47,7 +47,7 @@ public class JmsMessageBodySetNullTest extends AbstractJMSTest {
         getMockEndpoint("mock:bar").expectedMessageCount(1);
         getMockEndpoint("mock:bar").message(0).body().isNull();
 
-        template.sendBody("jms:queue:foo", "Hello World");
+        template.sendBody("jms:queue:JmsMessageBodySetNullTest", "Hello World");
 
         assertMockEndpointsSatisfied();
     }
@@ -57,7 +57,7 @@ public class JmsMessageBodySetNullTest extends AbstractJMSTest {
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() {
-                from("jms:queue:foo")
+                from("jms:queue:JmsMessageBodySetNullTest")
                         .to("mock:foo")
                         .process(exchange -> exchange.getIn().setBody(null))
                         .to("mock:bar");
@@ -71,7 +71,7 @@ public class JmsMessageBodySetNullTest extends AbstractJMSTest {
         getMockEndpoint("mock:bar").message(0).body().isNull();
         getMockEndpoint("mock:bar").expectedHeaderReceived("code", 123);
 
-        template.sendBodyAndHeader("jms:queue:foo", "Hello World", "code", 123);
+        template.sendBodyAndHeader("jms:queue:JmsMessageBodySetNullTest", "Hello World", "code", 123);
 
         assertMockEndpointsSatisfied();
     }
@@ -81,7 +81,7 @@ public class JmsMessageBodySetNullTest extends AbstractJMSTest {
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() {
-                from("jms:queue:foo")
+                from("jms:queue:JmsMessageBodySetNullTest")
                         .to("mock:foo")
                         .setBody(simple("${null}"))
                         .to("mock:bar");
@@ -93,7 +93,7 @@ public class JmsMessageBodySetNullTest extends AbstractJMSTest {
         getMockEndpoint("mock:bar").expectedMessageCount(1);
         getMockEndpoint("mock:bar").message(0).body().isNull();
 
-        template.sendBody("jms:queue:foo", "Hello World");
+        template.sendBody("jms:queue:JmsMessageBodySetNullTest", "Hello World");
 
         assertMockEndpointsSatisfied();
     }
@@ -103,7 +103,7 @@ public class JmsMessageBodySetNullTest extends AbstractJMSTest {
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() {
-                from("jms:queue:foo")
+                from("jms:queue:JmsMessageBodySetNullTest")
                         .to("mock:foo")
                         .setBody(simple("${null}"))
                         .to("mock:bar");
@@ -117,7 +117,7 @@ public class JmsMessageBodySetNullTest extends AbstractJMSTest {
         getMockEndpoint("mock:bar").message(0).body().isNull();
         getMockEndpoint("mock:bar").expectedHeaderReceived("code", 123);
 
-        template.sendBodyAndHeader("jms:queue:foo", "Hello World", "code", 123);
+        template.sendBodyAndHeader("jms:queue:JmsMessageBodySetNullTest", "Hello World", "code", 123);
 
         assertMockEndpointsSatisfied();
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteRequestReplyTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteRequestReplyTest.java
index 29b168066e5..1dd8ecdc779 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteRequestReplyTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteRequestReplyTest.java
@@ -36,6 +36,7 @@ import org.apache.camel.ExchangeTimedOutException;
 import org.apache.camel.Message;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper;
 import org.apache.camel.test.infra.activemq.services.LegacyEmbeddedBroker;
 import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.BeforeEach;
@@ -142,9 +143,8 @@ public class JmsRouteRequestReplyTest extends CamelTestSupport {
     public static class ContextBuilderMessageID implements ContextBuilder {
         @Override
         public CamelContext buildContext(CamelContext context) {
-            //            final String brokerUrl = LegacyEmbeddedBroker.createBrokerUrl();
-            //            ConnectionFactory connectionFactory = ConnectionFactoryHelper.createConnectionFactory(brokerUrl, null);
-            ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+            final String brokerUrl = LegacyEmbeddedBroker.createBrokerUrl();
+            ConnectionFactory connectionFactory = ConnectionFactoryHelper.createConnectionFactory(brokerUrl, null);
 
             JmsComponent jmsComponent = jmsComponentAutoAcknowledge(connectionFactory);
             jmsComponent.getConfiguration().setUseMessageIDAsCorrelationID(true);
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/SpringJmsRoutingSlipInOutTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/SpringJmsRoutingSlipInOutTest.java
index 8143045c4c5..1a977fb07a1 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/SpringJmsRoutingSlipInOutTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/SpringJmsRoutingSlipInOutTest.java
@@ -35,7 +35,7 @@ public class SpringJmsRoutingSlipInOutTest extends CamelSpringTestSupport {
     public void testInOutRoutingSlip() throws Exception {
         getMockEndpoint("mock:result").expectedBodiesReceived("Result-Done-B-A-Hello");
 
-        template.sendBody("activemq:queue:start", "Hello");
+        template.sendBody("activemq:queue:SpringJmsRoutingSlipInOutTest.start", "Hello");
 
         assertMockEndpointsSatisfied();
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsConcurrentConsumerInOnlyTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsConcurrentConsumerInOnlyTest.java
index b73781ccd7e..23a6a0374bd 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsConcurrentConsumerInOnlyTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsConcurrentConsumerInOnlyTest.java
@@ -21,8 +21,11 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.jms.CamelJmsTestHelper;
+import org.apache.camel.test.infra.activemq.services.ActiveMQService;
+import org.apache.camel.test.infra.activemq.services.ActiveMQServiceFactory;
 import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
 
@@ -30,13 +33,15 @@ import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknow
  * Concurrent consumer with InOnly test.
  */
 public class JmsConcurrentConsumerInOnlyTest extends CamelTestSupport {
+    @RegisterExtension
+    public static ActiveMQService service = ActiveMQServiceFactory.createVMService();
 
     @Test
     public void testConcurrentConsumers() throws Exception {
         // send messages to queue before processing
         int size = 2000;
         for (int i = 0; i < size; i++) {
-            template.sendBody("activemq:foo", "Hello " + i);
+            template.sendBody("activemq:JmsConcurrentConsumerInOnlyTest", "Hello " + i);
         }
 
         // start route and process the messages
@@ -51,7 +56,8 @@ public class JmsConcurrentConsumerInOnlyTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createPooledPersistentConnectionFactory();
+        ConnectionFactory connectionFactory
+                = CamelJmsTestHelper.createPooledPersistentConnectionFactory(service.serviceAddress());
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
@@ -61,7 +67,8 @@ public class JmsConcurrentConsumerInOnlyTest extends CamelTestSupport {
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                from("activemq:foo?concurrentConsumers=2&maxConcurrentConsumers=5").routeId("foo").noAutoStartup()
+                from("activemq:JmsConcurrentConsumerInOnlyTest?concurrentConsumers=2&maxConcurrentConsumers=5").routeId("foo")
+                        .noAutoStartup()
                         .log("${threadName} got ${body}")
                         .delay(simple("${random(0,10)}"))
                         .to("mock:foo");
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsTransactedDeadLetterChannelHandlerRollbackOnExceptionTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsTransactedDeadLetterChannelHandlerRollbackOnExceptionTest.java
index 0d0803bd37e..4cf145fb88b 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsTransactedDeadLetterChannelHandlerRollbackOnExceptionTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsTransactedDeadLetterChannelHandlerRollbackOnExceptionTest.java
@@ -23,15 +23,22 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Handler;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
 import org.apache.camel.component.jms.JmsComponent;
+import org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper;
+import org.apache.camel.test.infra.activemq.services.ActiveMQService;
+import org.apache.camel.test.infra.activemq.services.ActiveMQServiceFactory;
 import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
+import org.junit.jupiter.api.parallel.Isolated;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentTransacted;
 import static org.junit.jupiter.api.Assertions.assertNull;
 
+@Isolated
 public class JmsTransactedDeadLetterChannelHandlerRollbackOnExceptionTest extends CamelTestSupport {
+    @RegisterExtension
+    public static ActiveMQService service = ActiveMQServiceFactory.createVMService();
 
     public static class BadErrorHandler {
         @Handler
@@ -79,7 +86,8 @@ public class JmsTransactedDeadLetterChannelHandlerRollbackOnExceptionTest extend
         CamelContext camelContext = super.createCamelContext();
 
         // no redeliveries
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory(null, 0);
+        ConnectionFactory connectionFactory = ConnectionFactoryHelper.createConnectionFactory(service, 0);
+
         JmsComponent component = jmsComponentTransacted(connectionFactory);
         camelContext.addComponent("activemq", component);
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsTransactedOnExceptionRollbackOnExceptionTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsTransactedOnExceptionRollbackOnExceptionTest.java
index ab1ff01bb05..6ab42b766f2 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsTransactedOnExceptionRollbackOnExceptionTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsTransactedOnExceptionRollbackOnExceptionTest.java
@@ -23,15 +23,20 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Handler;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
 import org.apache.camel.component.jms.JmsComponent;
+import org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper;
+import org.apache.camel.test.infra.activemq.services.ActiveMQService;
+import org.apache.camel.test.infra.activemq.services.ActiveMQServiceFactory;
 import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentTransacted;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class JmsTransactedOnExceptionRollbackOnExceptionTest extends CamelTestSupport {
+    @RegisterExtension
+    public static ActiveMQService service = ActiveMQServiceFactory.createVMService();
 
     public static class BadErrorHandler {
 
@@ -73,7 +78,8 @@ public class JmsTransactedOnExceptionRollbackOnExceptionTest extends CamelTestSu
         CamelContext camelContext = super.createCamelContext();
 
         // no redeliveries
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory(null, 0);
+        ConnectionFactory connectionFactory = ConnectionFactoryHelper.createConnectionFactory(service, 0);
+
         JmsComponent component = jmsComponentTransacted(connectionFactory);
         camelContext.addComponent("activemq", component);
         return camelContext;
diff --git a/components/camel-jms/src/test/resources/org/apache/camel/component/jms/SpringJmsRoutingSlipInOutTest.xml b/components/camel-jms/src/test/resources/org/apache/camel/component/jms/SpringJmsRoutingSlipInOutTest.xml
index 38f41215b16..85bf5d63749 100644
--- a/components/camel-jms/src/test/resources/org/apache/camel/component/jms/SpringJmsRoutingSlipInOutTest.xml
+++ b/components/camel-jms/src/test/resources/org/apache/camel/component/jms/SpringJmsRoutingSlipInOutTest.xml
@@ -39,7 +39,7 @@
     <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
 
         <route>
-            <from uri="activemq:queue:start"/>
+            <from uri="activemq:queue:SpringJmsRoutingSlipInOutTest.start"/>
             <to uri="direct:start"/>
             <to uri="bean:myBean?method=doResult"/>
             <to uri="mock:result"/>
@@ -56,12 +56,12 @@
         </route>
 
         <route>
-            <from uri="activemq:queue:a"/>
+            <from uri="activemq:queue:SpringJmsRoutingSlipInOutTest.a"/>
             <to uri="bean:myBean?method=doA"/>
         </route>
 
         <route>
-            <from uri="activemq:queue:b"/>
+            <from uri="activemq:queue:SpringJmsRoutingSlipInOutTest.b"/>
             <to uri="bean:myBean?method=doB"/>
         </route>
 
diff --git a/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/common/ConnectionFactoryHelper.java b/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/common/ConnectionFactoryHelper.java
index ff3395287bf..ccd382ebdb5 100644
--- a/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/common/ConnectionFactoryHelper.java
+++ b/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/common/ConnectionFactoryHelper.java
@@ -68,4 +68,18 @@ public final class ConnectionFactoryHelper {
         connectionFactory.setTrustAllPackages(true);
         return connectionFactory;
     }
+
+    public static ConnectionFactory createPersistentConnectionFactory(String url) {
+        return createPersistentConnectionFactory(new ActiveMQConnectionFactory(url));
+
+    }
+
+    public static ConnectionFactory createPersistentConnectionFactory(ActiveMQConnectionFactory connectionFactory) {
+        connectionFactory.setCopyMessageOnSend(false);
+        connectionFactory.setOptimizeAcknowledge(true);
+        connectionFactory.setOptimizedMessageDispatch(true);
+        connectionFactory.setAlwaysSessionAsync(false);
+        connectionFactory.setTrustAllPackages(true);
+        return connectionFactory;
+    }
 }


[camel] 06/06: camel-jms: guarantee resource isolation for the transacted tests

Posted by or...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 599865f6ef6e788a0f6a7e34284885e1f4c23849
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Thu Aug 18 10:43:42 2022 +0200

    camel-jms: guarantee resource isolation for the transacted tests
---
 .../JmsTransactedDeadLetterChannelHandlerRollbackOnExceptionTest.java | 4 +---
 .../jms/issues/JmsTransactedOnExceptionRollbackOnExceptionTest.java   | 2 +-
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsTransactedDeadLetterChannelHandlerRollbackOnExceptionTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsTransactedDeadLetterChannelHandlerRollbackOnExceptionTest.java
index 4cf145fb88b..34b68b33584 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsTransactedDeadLetterChannelHandlerRollbackOnExceptionTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsTransactedDeadLetterChannelHandlerRollbackOnExceptionTest.java
@@ -30,15 +30,13 @@ import org.apache.camel.test.infra.activemq.services.ActiveMQServiceFactory;
 import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.RegisterExtension;
-import org.junit.jupiter.api.parallel.Isolated;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentTransacted;
 import static org.junit.jupiter.api.Assertions.assertNull;
 
-@Isolated
 public class JmsTransactedDeadLetterChannelHandlerRollbackOnExceptionTest extends CamelTestSupport {
     @RegisterExtension
-    public static ActiveMQService service = ActiveMQServiceFactory.createVMService();
+    public ActiveMQService service = ActiveMQServiceFactory.createVMServiceInstance();
 
     public static class BadErrorHandler {
         @Handler
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsTransactedOnExceptionRollbackOnExceptionTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsTransactedOnExceptionRollbackOnExceptionTest.java
index 6ab42b766f2..9769121fac5 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsTransactedOnExceptionRollbackOnExceptionTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsTransactedOnExceptionRollbackOnExceptionTest.java
@@ -36,7 +36,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class JmsTransactedOnExceptionRollbackOnExceptionTest extends CamelTestSupport {
     @RegisterExtension
-    public static ActiveMQService service = ActiveMQServiceFactory.createVMService();
+    public static ActiveMQService service = ActiveMQServiceFactory.createVMServiceInstance();
 
     public static class BadErrorHandler {