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/16 11:19:20 UTC

[camel] branch main updated: Convert non-persistent JMS tests to the test infra

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


The following commit(s) were added to refs/heads/main by this push:
     new 5a5e091fa10 Convert non-persistent JMS tests to the test infra
5a5e091fa10 is described below

commit 5a5e091fa10e547ba4d88788d1d6550772fc7a86
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Thu Aug 11 16:16:53 2022 +0200

    Convert non-persistent JMS tests to the test infra
    
    - this reworks several tests relying on a non-persistent broker to use the equivalent service in the test-infra
    - moves some of the legacy code to test-infra
    - minor test cleanups (mostly logs)
    - avoid sharing resources as a pre-work for future parallelization
---
 components/camel-jms/pom.xml                       |   1 +
 ...stinationResolver.java => AbstractJMSTest.java} |  30 +--
 .../jms/ActiveMQOriginalDestinationTest.java       |   9 +-
 ...sRouteTest.java => AggregatedJmsRouteTest.java} |  37 ++--
 .../camel/component/jms/BrowsableQueueTest.java    |  32 ++--
 .../camel/component/jms/CamelJmsTestHelper.java    |  23 +++
 .../component/jms/ConsumeJmsBytesMessageTest.java  |  12 +-
 .../component/jms/ConsumeJmsMapMessageTest.java    |   6 +-
 .../component/jms/ConsumeJmsObjectMessageTest.java |   7 +-
 .../component/jms/ConsumeMessageConverterTest.java |  12 +-
 .../jms/FileRouteJmsKeepLastModifiedTest.java      |  37 ++--
 .../component/jms/FileRouteJmsPreMoveTest.java     |  20 +-
 .../camel/component/jms/FileRouteToJmsTest.java    |  11 +-
 .../component/jms/FileRouteToJmsToFileTest.java    |  13 +-
 .../component/jms/FromTextToBytesMessageTest.java  |  27 +--
 .../jms/JmsAddAndRemoveRouteManagementTest.java    |  14 +-
 .../jms/JmsAllowAdditionalHeadersTest.java         |  11 +-
 .../camel/component/jms/JmsAllowNullBodyTest.java  |  18 +-
 .../jms/JmsAsyncStartStopListenerTest.java         |   3 +-
 .../component/jms/JmsAsyncStopListenerTest.java    |  16 +-
 .../jms/JmsBatchResequencerJMSPriorityTest.java    |  33 ++--
 .../camel/component/jms/JmsClientAckTest.java      |  11 +-
 .../camel/component/jms/JmsComponentTest.java      |   7 +-
 ...sumerRestartPickupConfigurationChangesTest.java |  16 +-
 .../jms/JmsCustomHeaderFilterStrategyTest.java     |  11 +-
 .../component/jms/JmsDeadLetterQueueTest.java      |   9 +-
 ...msDeadLetterQueueUsingTransferExchangeTest.java |   9 +-
 .../jms/JmsDefaultTaskExecutorTypeTest.java        |   7 +-
 .../component/jms/JmsDestinationResolverTest.java  |  10 +-
 .../jms/JmsEagerLoadingPropertiesTest.java         |   7 +-
 .../jms/JmsEndpointConfigurationTest.java          | 101 ++++++----
 .../jms/JmsErrorHandlerLogStackTraceTest.java      |   7 +-
 .../apache/camel/component/jms/JmsFilterTest.java  |   7 +-
 .../jms/JmsFormatDateHeadersToIso8601Test.java     |   7 +-
 .../component/jms/JmsHeaderFilteringTest.java      |  11 +-
 .../jms/JmsInOnlyDisableTimeToLiveTest.java        |  18 +-
 .../jms/JmsInOnlyIncludeSentJMSMessageIDTest.java  |   7 +-
 .../jms/JmsInOnlyInvalidDestinationTest.java       |   7 +-
 .../component/jms/JmsInOnlyPooledExchangeTest.java |  11 +-
 .../jms/JmsInOnlyWithReplyToAsHeaderTest.java      |  17 +-
 ...ToDisabledButJMSReplyToHeaderPreservedTest.java |  11 +-
 .../jms/JmsInOnlyWithReplyToDisabledTest.java      |  13 +-
 .../jms/JmsInOnlyWithReplyToHeaderTest.java        |  19 +-
 .../jms/JmsInOnlyWithReplyToHeaderTopicTest.java   |  22 +--
 .../jms/JmsInOnlyWithReplyToNotPreservedTest.java  |  25 +--
 .../component/jms/JmsInOnlyWithReplyToTest.java    |  20 +-
 .../component/jms/JmsInOutBeanReturnNullTest.java  |   6 +-
 .../jms/JmsInOutDisableTimeToLiveTest.java         |  18 +-
 .../jms/JmsInOutFixedReplyQueueTimeoutTest.java    |  26 +--
 ...ueueTimeoutUseMessageIDAsCorrelationIDTest.java |  10 +-
 .../jms/JmsInOutIndividualRequestTimeoutTest.java  |  31 +--
 .../component/jms/JmsInOutNonPersistentTest.java   |  18 +-
 .../jms/JmsInOutSynchronousFalseTest.java          |   7 +-
 .../component/jms/JmsInOutSynchronousTest.java     |   7 +-
 .../jms/JmsInOutTransferExchangeTest.java          |   7 +-
 .../component/jms/JmsInOutWithNoOutBodyTest.java   |   7 +-
 .../jms/JmsIncludeAllJMSXPropertiesTest.java       |   7 +-
 .../component/jms/JmsLoadBalanceFailoverTest.java  |  15 +-
 ...ailoverWithForceSendOriginalJmsMessageTest.java |   7 +-
 ...geAsOriginalMessageInDefaultUnitOfWorkTest.java |  13 +-
 .../component/jms/JmsMessageBodySetNullTest.java   |   7 +-
 .../JmsMessageCreatedStrategyComponentTest.java    |   7 +-
 .../jms/JmsMessageCreatedStrategyEndpointTest.java |   7 +-
 .../jms/JmsMessageIDNotOverridenAMQTest.java       |   7 +-
 .../component/jms/JmsMessageTimestampTest.java     |   7 +-
 .../camel/component/jms/JmsMessageTypeTest.java    |  19 +-
 .../component/jms/JmsMultipleConsumersTest.java    |  27 +--
 .../component/jms/JmsNoRequestTimeoutTest.java     |   7 +-
 .../JmsNotInOnlyIncludeSentJMSMessageIDTest.java   |   7 +-
 .../jms/JmsNotIncludeAllJMSXPropertiesTest.java    |   7 +-
 ...OnCompletionAndInterceptAndOnExceptionTest.java |   7 +-
 .../camel/component/jms/JmsOnCompletionTest.java   |   7 +-
 .../component/jms/JmsPollingConsumerTest.java      | 208 +++++++++++++--------
 ...entTest.java => JmsProducerConcurrentTest.java} |  11 +-
 ...ava => JmsProducerConcurrentWithReplyTest.java} |  12 +-
 .../jms/JmsProducerWithJMSHeaderTest.java          |  98 ++++++----
 .../camel/component/jms/JmsQosRouteTest.java       |   7 +-
 .../camel/component/jms/JmsRemoveHeaderTest.java   |  13 +-
 .../jms/JmsRequestReplyCorrelationTest.java        |   7 +-
 ...sRequestReplyExclusiveReplyToComponentTest.java |   7 +-
 ...RequestReplyExclusiveReplyToConcurrentTest.java |  13 +-
 ...estReplyExclusiveReplyToRemoveAddRouteTest.java |   7 +-
 .../jms/JmsRequestReplyExclusiveReplyToTest.java   |   7 +-
 .../JmsRequestReplyFixedReplyToInEndpointTest.java |   7 +-
 .../jms/JmsRequestReplyManualReplyTest.java        |   7 +-
 .../JmsRequestReplyManualWithJMSReplyToTest.java   |  14 +-
 ...lyProcessRepliesConcurrentUsingThreadsTest.java |   7 +-
 .../jms/JmsRequestReplyReplyToOverrideTest.java    |   7 +-
 .../jms/JmsRequestReplySharedReplyToTest.java      |   7 +-
 .../jms/JmsRequestReplyTemporaryCacheNoneTest.java |   7 +-
 .../component/jms/JmsRouteRequestReplyTest.java    |  36 +++-
 .../apache/camel/component/jms/JmsRouteTest.java   |  13 +-
 .../jms/JmsRouteTimeoutCheckerIntervalTest.java    |   7 +-
 .../camel/component/jms/JmsRouteTimeoutTest.java   |   7 +-
 .../camel/component/jms/JmsRouteToFileTest.java    |   7 +-
 .../jms/JmsRouteUsingDifferentHeadersTest.java     |   7 +-
 .../component/jms/JmsRouteUsingJMSXGroupTest.java  |   7 +-
 .../jms/JmsRouteUsingSpringAndJmsNameTest.java     |   2 +
 .../component/jms/JmsRouteUsingSpringTest.java     |   2 +
 .../JmsRouteWithCustomListenerContainerTest.java   |   7 +-
 .../JmsRouteWithDefaultKeyFormatStrategyTest.java  |   7 +-
 .../jms/JmsRouteWithInOnlyAndMultipleAcksTest.java |   7 +-
 .../component/jms/JmsRouteWithInOnlyTest.java      |   7 +-
 .../component/jms/JmsRoutingSlipInOutTest.java     |   7 +-
 .../camel/component/jms/JmsRoutingSlipTest.java    |   7 +-
 .../camel/component/jms/JmsSelectorInTest.java     |   7 +-
 .../camel/component/jms/JmsSelectorOptionTest.java |   7 +-
 .../camel/component/jms/JmsSelectorTest.java       |   7 +-
 .../apache/camel/component/jms/JmsSessionTest.java |  11 +-
 .../camel/component/jms/JmsSimpleHeaderTest.java   |  15 +-
 .../component/jms/JmsSimpleInOnlyNoMutateTest.java |  11 +-
 .../jms/JmsSimpleRequestCustomReplyToTest.java     |   7 +-
 .../jms/JmsSimpleRequestLateReplyTest.java         |   7 +-
 .../component/jms/JmsSimpleRequestReply2Test.java  |   7 +-
 .../JmsSimpleRequestReplyFixedReplyQueueTest.java  |   7 +-
 .../component/jms/JmsSimpleRequestReplyTest.java   |   7 +-
 .../jms/JmsSplitterParallelChainedTest.java        |  11 +-
 .../component/jms/JmsSplitterParallelTest.java     |   7 +-
 .../JmsStreamMessageTypeNoStreamCachingTest.java   |  30 +--
 .../component/jms/JmsStreamMessageTypeTest.java    |  22 ++-
 .../org/apache/camel/component/jms/JmsToDTest.java |  19 +-
 .../org/apache/camel/component/jms/JmsToTest.java  |  19 +-
 .../component/jms/JmsTransactedRouteTest.java      |  15 +-
 .../component/jms/JmsTransferExceptionTest.java    |   7 +-
 .../jms/JmsTransferExchangeFromSplitterTest.java   |   7 +-
 .../component/jms/JmsTransferExchangeTest.java     |   7 +-
 .../component/jms/JmsUseOriginalBodyTest.java      |   7 +-
 .../camel/component/jms/JmsXMLRouteTest.java       |   7 +-
 .../camel/component/jms/JmsXPathHeaderTest.java    |   7 +-
 .../component/jms/ManagedJmsEndpointTopicTest.java |   7 +-
 .../component/jms/ManagedJmsSelectorTest.java      |  17 +-
 .../camel/component/jms/MapJmsMessageTest.java     |   7 +-
 .../camel/component/jms/MyDestinationResolver.java |   4 +-
 .../component/jms/PayloadByteArrayJmsTest.java     |   7 +-
 .../component/jms/ProduceMessageConverterTest.java |   7 +-
 .../jms/ReplyToDestinationSelectorNameTest.java    |   7 +-
 ...RequestReplyCorrelatedWithCustomHeaderTest.java |   7 +-
 .../SimpleJmsRequestReplyExclusiveReplyToTest.java |   7 +-
 .../SimpleJmsRequestReplySharedReplyToTest.java    |   7 +-
 .../component/jms/SimpleJmsRequestReplyTest.java   |   7 +-
 .../ActiveMQConsumeWildcardQueuesTest.java         |   9 +-
 .../jms/async/AsyncConsumerFalseTest.java          |   9 +-
 .../jms/async/AsyncConsumerInOutTest.java          |   9 +-
 .../jms/async/AsyncConsumerInOutTwoTest.java       |   9 +-
 .../component/jms/async/AsyncConsumerTest.java     |   8 +-
 .../component/jms/async/AsyncJmsInOutTest.java     |   9 +-
 .../component/jms/async/AsyncJmsProducerTest.java  |   9 +-
 .../component/jms/discovery/JmsDiscoveryTest.java  |   9 +-
 .../jms/issues/ActiveMQPropagateHeadersTest.java   |  19 +-
 .../ActiveMQPropagateSerializableHeadersTest.java  |  19 +-
 .../jms/issues/BruceHandlingBeanExceptionTest.java |   9 +-
 ...cRoutersWithJMSMessageLostHeadersIssueTest.java |   9 +-
 .../jms/issues/JmsAnotherCustomJMSReplyToTest.java |   9 +-
 .../jms/issues/JmsBeanMethodHeaderTest.java        |   9 +-
 .../issues/JmsBlockedAsyncRoutingEngineTest.java   |   1 -
 .../issues/JmsChainedEndpointDelayTimeoutTest.java |   9 +-
 .../jms/issues/JmsConcurrentConsumersTest.java     |   9 +-
 .../jms/issues/JmsCustomJMSReplyToIssueTest.java   |   9 +-
 .../jms/issues/JmsFilenameHeaderTest.java          |   9 +-
 .../jms/issues/JmsGetHeaderKeyFormatIssueTest.java |   9 +-
 ...derKeyFormatIssueWithContentTypeHeaderTest.java |   9 +-
 .../jms/issues/JmsHeaderAsObjectTest.java          |   9 +-
 .../component/jms/issues/JmsInOnlyIssueTest.java   |   9 +-
 .../jms/issues/JmsInOnlyParameterTest.java         |   9 +-
 .../JmsInOutExclusiveTopicRecipientListTest.java   |   9 +-
 .../jms/issues/JmsInOutExclusiveTopicTest.java     |   9 +-
 .../component/jms/issues/JmsInOutIssueTest.java    |  23 +--
 .../component/jms/issues/JmsInOutParallelTest.java |   8 +-
 .../issues/JmsInOutPersistentReplyQueueTest.java   |  13 +-
 .../jms/issues/JmsInOutPipelineWithBeanTest.java   |   9 +-
 .../issues/JmsInOutRepeatedInvocationsTest.java    |   9 +-
 .../jms/issues/JmsInOutRoutingSlipTest.java        |   9 +-
 ...ransferExchangeInflightRepositoryFlushTest.java |   9 +-
 .../JmsInOutUseMessageIDasCorrelationIDTest.java   |   9 +-
 ...msJMSReplyToConsumerEndpointUsingInOutTest.java |   9 +-
 .../JmsJMSReplyToEndpointUsingInOutTest.java       |   9 +-
 .../jms/issues/JmsLifecycleIssueTest.java          |  15 +-
 .../jms/issues/JmsMQSpecialHeaderTest.java         |   9 +-
 .../JmsMessageHeaderContentBasedRouterTest.java    |   9 +-
 .../component/jms/issues/JmsMutateMessageTest.java |   9 +-
 .../issues/JmsMutateRemoveHeaderMessageTest.java   |   8 +-
 ...roughtJmsKeyFormatStrategyEndUserIssueTest.java |   9 +-
 ...ssThroughtJmsKeyFormatStrategyEndpointTest.java |   9 +-
 .../JmsPassThroughtJmsKeyFormatStrategyTest.java   |   9 +-
 ...KeyFormatStrategyUsingJmsConfigurationTest.java |   9 +-
 .../issues/JmsReplyToComponentEndlessLoopTest.java |   9 +-
 .../jms/issues/JmsReplyToLoopIssueTest.java        |   9 +-
 .../jms/issues/JmsRoutingSlipIssueTest.java        |   9 +-
 .../jms/issues/JmsToFileMessageIdTest.java         |   9 +-
 .../jms/issues/JmsTypeConverterIssueTest.java      |   9 +-
 .../camel/component/jms/issues/LarsIssueTest.java  |   9 +-
 .../component/jms/issues/MQSeriesHeaderTest.java   |  17 +-
 .../NoClassDefFoundErrorWrapExceptionTest.java     |   9 +-
 .../issues/RequestReplyWithProducerIssueTest.java  |   9 +-
 .../component/jms/issues/TempReplyToIssueTest.java |   9 +-
 .../component/jms/temp/JmsReconnectManualTest.java |   2 +-
 .../jms/temp/TemporaryQueueRouteTest.java          |  11 +-
 .../component/jms/tuning/PerformanceRouteTest.java |   9 +-
 .../jms/tx/JMSTXInOutPersistentQueueTest.java      |   4 +-
 .../jms/tx/QueueToProcessorTransactionTest.java    |   2 +-
 .../src/test/resources/log4j2-test.properties      |   6 +
 test-infra/camel-test-infra-activemq/pom.xml       |   6 +
 .../activemq/common/ConnectionFactoryHelper.java   |  71 +++++++
 .../activemq/services/ActiveMQEmbeddedService.java |  16 +-
 .../services/ActiveMQEmbeddedServiceBuilder.java   |  14 ++
 .../activemq/services/ActiveMQServiceFactory.java  |  76 ++++++++
 ...EmbeddedService.java => ActiveMQVMService.java} |  28 ++-
 ...iceFactory.java => ConnectionFactoryAware.java} |  21 +--
 .../activemq/services/LegacyEmbeddedBroker.java    |  58 ++++++
 .../infra/common/services/SingletonService.java    |   8 +-
 210 files changed, 1737 insertions(+), 1106 deletions(-)

diff --git a/components/camel-jms/pom.xml b/components/camel-jms/pom.xml
index c039e889ffb..e020c583674 100644
--- a/components/camel-jms/pom.xml
+++ b/components/camel-jms/pom.xml
@@ -36,6 +36,7 @@
         <camel.osgi.export.pkg>org.apache.camel.component.jms*</camel.osgi.export.pkg>
         <camel.osgi.import.additional>javax.jms;version="[1.1,3)"</camel.osgi.import.additional>
 
+        <camel.surefire.reuseForks>true</camel.surefire.reuseForks>
         <camel.surefire.forkCount>4</camel.surefire.forkCount>
         <camel.surefire.forkTimeout>6000</camel.surefire.forkTimeout>
         <camel.surefire.parallel>false</camel.surefire.parallel>
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/MyDestinationResolver.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/AbstractJMSTest.java
similarity index 52%
copy from components/camel-jms/src/test/java/org/apache/camel/component/jms/MyDestinationResolver.java
copy to components/camel-jms/src/test/java/org/apache/camel/component/jms/AbstractJMSTest.java
index 6deab8f983e..f99690b72e6 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/MyDestinationResolver.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/AbstractJMSTest.java
@@ -14,24 +14,24 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.component.jms;
 
-import javax.jms.Destination;
-import javax.jms.JMSException;
-import javax.jms.Session;
+package org.apache.camel.component.jms;
 
-import org.springframework.jms.support.destination.DestinationResolver;
+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.Tag;
+import org.junit.jupiter.api.Tags;
+import org.junit.jupiter.api.TestInstance;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
-public class MyDestinationResolver implements DestinationResolver {
+@Tags({ @Tag("jms") })
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
+public abstract class AbstractJMSTest extends CamelTestSupport {
+    @RegisterExtension
+    public static ActiveMQService service = ActiveMQServiceFactory.createEmbeddedService();
 
-    @Override
-    public Destination resolveDestinationName(Session session, String destinationName, boolean pubSubDomain)
-            throws JMSException {
-        if ("logicalNameForTestBQueue".equals(destinationName)) {
-            return session.createQueue("test.b");
-        } else {
-            return session.createQueue(destinationName);
-        }
+    public static String queueNameForClass(String desiredName, Class<?> requestingClass) {
+        return desiredName + "." + requestingClass.getSimpleName();
     }
-
 }
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 c1adac5555a..f8688c22202 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
@@ -26,15 +26,17 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
+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;
 
-public class ActiveMQOriginalDestinationTest extends CamelTestSupport {
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
+public class ActiveMQOriginalDestinationTest extends AbstractJMSTest {
 
     protected String componentName = "activemq";
 
@@ -65,7 +67,8 @@ public class ActiveMQOriginalDestinationTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory = ConnectionFactoryHelper.createConnectionFactory(service);
+
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         JmsComponent jms = camelContext.getComponent(componentName, JmsComponent.class);
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/AggregratedJmsRouteTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/AggregatedJmsRouteTest.java
similarity index 66%
rename from components/camel-jms/src/test/java/org/apache/camel/component/jms/AggregratedJmsRouteTest.java
rename to components/camel-jms/src/test/java/org/apache/camel/component/jms/AggregatedJmsRouteTest.java
index a4961569f79..3807a5cfd53 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/AggregratedJmsRouteTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/AggregatedJmsRouteTest.java
@@ -24,7 +24,7 @@ import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.processor.aggregate.UseLatestAggregationStrategy;
-import org.apache.camel.test.junit5.CamelTestSupport;
+import org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -32,17 +32,17 @@ import org.slf4j.LoggerFactory;
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
 import static org.junit.jupiter.api.Assertions.fail;
 
-public class AggregratedJmsRouteTest extends CamelTestSupport {
+public class AggregatedJmsRouteTest extends AbstractJMSTest {
 
-    private static final Logger LOG = LoggerFactory.getLogger(AggregratedJmsRouteTest.class);
-    private final String timeOutEndpointUri = "jms:queue:test.a";
+    private static final Logger LOG = LoggerFactory.getLogger(AggregatedJmsRouteTest.class);
+    private final String timeOutEndpointUri = "jms:queue:AggregatedJmsRouteTestQueueA";
     private final String multicastEndpointUri = "jms:queue:multicast";
 
     /*
      * negative receive wait timeout for jms is blocking so timeout during processing does not hang
      */
     @Test
-    public void testJmsBatchTimeoutExpiryWithAggregrationDelay() throws Exception {
+    public void testJmsBatchTimeoutExpiryWithAggregationDelay() throws Exception {
         MockEndpoint resultEndpoint = resolveMandatoryEndpoint("mock:result", MockEndpoint.class);
         resultEndpoint.setSleepForEmptyTest(3000);
         resultEndpoint.expectedMessageCount(1);
@@ -75,7 +75,7 @@ public class AggregratedJmsRouteTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory = ConnectionFactoryHelper.createConnectionFactory(service);
         camelContext.addComponent("jms", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
@@ -85,23 +85,28 @@ public class AggregratedJmsRouteTest extends CamelTestSupport {
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                from(timeOutEndpointUri).to("jms:queue:test.b");
+                from(timeOutEndpointUri).to("jms:queue:AggregatedJmsRouteTestQueueB");
 
-                from("jms:queue:test.b").aggregate(header("cheese"), (oldExchange, newExchange) -> {
+                from("jms:queue:AggregatedJmsRouteTestQueueB").aggregate(header("cheese"), (oldExchange, newExchange) -> {
                     try {
                         Thread.sleep(2000);
                     } catch (InterruptedException e) {
-                        LOG.error("aggregration delay sleep inturrepted", e);
-                        fail("aggregration delay sleep inturrepted");
+                        LOG.error("aggregation delay sleep interrupted", e);
+                        fail("aggregation delay sleep interrupted");
                     }
                     return newExchange;
                 }).completionTimeout(2000L).to("mock:result");
 
-                from(multicastEndpointUri).to("jms:queue:point1", "jms:queue:point2", "jms:queue:point3");
-                from("jms:queue:point1").process(new MyProcessor()).to("jms:queue:reply");
-                from("jms:queue:point2").process(new MyProcessor()).to("jms:queue:reply");
-                from("jms:queue:point3").process(new MyProcessor()).to("jms:queue:reply");
-                from("jms:queue:reply").aggregate(header("cheese"), new UseLatestAggregationStrategy()).completionSize(3)
+                from(multicastEndpointUri).to("jms:queue:AggregatedJmsRouteTestQueuePoint1",
+                        "jms:queue:AggregatedJmsRouteTestQueuePoint2", "jms:queue:AggregatedJmsRouteTestQueuePoint3");
+                from("jms:queue:AggregatedJmsRouteTestQueuePoint1").process(new MyProcessor())
+                        .to("jms:queue:AggregatedJmsRouteTestQueueReply");
+                from("jms:queue:AggregatedJmsRouteTestQueuePoint2").process(new MyProcessor())
+                        .to("jms:queue:AggregatedJmsRouteTestQueueReply");
+                from("jms:queue:AggregatedJmsRouteTestQueuePoint3").process(new MyProcessor())
+                        .to("jms:queue:AggregatedJmsRouteTestQueueReply");
+                from("jms:queue:AggregatedJmsRouteTestQueueReply")
+                        .aggregate(header("cheese"), new UseLatestAggregationStrategy()).completionSize(3)
                         .to("mock:reply");
             }
         };
@@ -111,7 +116,7 @@ public class AggregratedJmsRouteTest extends CamelTestSupport {
 
         @Override
         public void process(Exchange exchange) {
-            LOG.info("get the exchange here " + exchange);
+            LOG.info("get the exchange here {}", exchange);
         }
 
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/BrowsableQueueTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/BrowsableQueueTest.java
index b86fcf5af73..aae6202c874 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/BrowsableQueueTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/BrowsableQueueTest.java
@@ -23,15 +23,15 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class BrowsableQueueTest extends CamelTestSupport {
+public class BrowsableQueueTest extends AbstractJMSTest {
     private static final Logger LOG = LoggerFactory.getLogger(BrowsableQueueTest.class);
 
     protected String componentName = "activemq";
@@ -39,14 +39,15 @@ public class BrowsableQueueTest extends CamelTestSupport {
 
     @Test
     public void testSendMessagesThenBrowseQueue() {
+        final String queueName = queueNameForClass("activemq:test.b", this.getClass());
         // send some messages
         for (int i = 0; i < expectedBodies.length; i++) {
             Object expectedBody = expectedBodies[i];
-            template.sendBodyAndHeader("activemq:test.b", expectedBody, "counter", i);
+            template.sendBodyAndHeader(queueName, expectedBody, "counter", i);
         }
 
         // now lets browse the queue
-        JmsQueueEndpoint endpoint = getMandatoryEndpoint("activemq:test.b?maximumBrowseSize=6", JmsQueueEndpoint.class);
+        JmsQueueEndpoint endpoint = getMandatoryEndpoint(queueName + "?maximumBrowseSize=6", JmsQueueEndpoint.class);
         assertEquals(6, endpoint.getMaximumBrowseSize());
         List<Exchange> list = endpoint.getExchanges();
         LOG.debug("Received: " + list);
@@ -64,23 +65,25 @@ public class BrowsableQueueTest extends CamelTestSupport {
 
     @Test
     public void testSendMessagesThenBrowseQueueLimitNotHit() {
+        final String queueName = queueNameForClass("activemq:test.c", this.getClass());
+
         // send some messages
         for (int i = 0; i < expectedBodies.length; i++) {
             Object expectedBody = expectedBodies[i];
-            template.sendBodyAndHeader("activemq:test.b", expectedBody, "counter", i);
+            template.sendBodyAndHeader(queueName, expectedBody, "counter", i);
         }
 
         // now lets browse the queue
-        JmsQueueEndpoint endpoint = getMandatoryEndpoint("activemq:test.b?maximumBrowseSize=10", JmsQueueEndpoint.class);
+        JmsQueueEndpoint endpoint = getMandatoryEndpoint(queueName + "?maximumBrowseSize=10", JmsQueueEndpoint.class);
         assertEquals(10, endpoint.getMaximumBrowseSize());
         List<Exchange> list = endpoint.getExchanges();
-        LOG.debug("Received: " + list);
+        LOG.debug("Received: {}", list);
         assertEquals(8, endpoint.getExchanges().size(), "Size of list");
 
         int index = -1;
         for (Exchange exchange : list) {
             String actual = exchange.getIn().getBody(String.class);
-            LOG.debug("Received body: " + actual);
+            LOG.debug("Received body: {}", actual);
 
             Object expected = expectedBodies[++index];
             assertEquals(expected, actual, "Body: " + index);
@@ -89,14 +92,16 @@ public class BrowsableQueueTest extends CamelTestSupport {
 
     @Test
     public void testSendMessagesThenBrowseQueueNoMax() {
+        final String queueName = queueNameForClass("activemq:test.b", this.getClass());
+
         // send some messages
         for (int i = 0; i < expectedBodies.length; i++) {
             Object expectedBody = expectedBodies[i];
-            template.sendBodyAndHeader("activemq:test.b", expectedBody, "counter", i);
+            template.sendBodyAndHeader(queueName, expectedBody, "counter", i);
         }
 
         // now lets browse the queue
-        JmsQueueEndpoint endpoint = getMandatoryEndpoint("activemq:test.b", JmsQueueEndpoint.class);
+        JmsQueueEndpoint endpoint = getMandatoryEndpoint(queueName, JmsQueueEndpoint.class);
         assertEquals(-1, endpoint.getMaximumBrowseSize());
         List<Exchange> list = endpoint.getExchanges();
         LOG.debug("Received: " + list);
@@ -116,7 +121,7 @@ public class BrowsableQueueTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
@@ -125,8 +130,11 @@ public class BrowsableQueueTest extends CamelTestSupport {
     @Override
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
+            final String queueNameA = queueNameForClass("activemq:test.a", this.getClass());
+            final String queueNameB = queueNameForClass("activemq:test.b", this.getClass());
+
             public void configure() {
-                from("activemq:test.a").to("activemq:test.b");
+                from(queueNameA).to(queueNameB);
             }
         };
     }
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 04264f30757..0851b5158fd 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
@@ -54,10 +54,12 @@ public final class CamelJmsTestHelper {
         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);
@@ -77,6 +79,25 @@ public final class CamelJmsTestHelper {
         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);
     }
@@ -97,6 +118,7 @@ public final class CamelJmsTestHelper {
         return createBrokerUrl(null);
     }
 
+    @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();
@@ -126,6 +148,7 @@ public final class CamelJmsTestHelper {
         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));
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeJmsBytesMessageTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeJmsBytesMessageTest.java
index 8947387bb74..58595923be4 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeJmsBytesMessageTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeJmsBytesMessageTest.java
@@ -26,7 +26,6 @@ import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.support.ExchangeHelper;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
@@ -34,11 +33,12 @@ import org.slf4j.LoggerFactory;
 import org.springframework.jms.core.JmsTemplate;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 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;
 
-public class ConsumeJmsBytesMessageTest extends CamelTestSupport {
+public class ConsumeJmsBytesMessageTest extends AbstractJMSTest {
 
     private static final Logger LOG = LoggerFactory.getLogger(ConsumeJmsBytesMessageTest.class);
 
@@ -50,7 +50,7 @@ public class ConsumeJmsBytesMessageTest extends CamelTestSupport {
         endpoint.expectedMessageCount(1);
 
         jmsTemplate.setPubSubDomain(false);
-        jmsTemplate.send("test.bytes", session -> {
+        jmsTemplate.send("ConsumeJmsBytesMessageTest.bytes", session -> {
             BytesMessage bytesMessage = session.createBytesMessage();
             bytesMessage.writeByte((byte) 1);
             bytesMessage.writeByte((byte) 2);
@@ -102,7 +102,7 @@ public class ConsumeJmsBytesMessageTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory = createConnectionFactory(service);
         jmsTemplate = new JmsTemplate(connectionFactory);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
@@ -113,8 +113,8 @@ public class ConsumeJmsBytesMessageTest extends CamelTestSupport {
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                from("activemq:test.bytes").to("mock:result");
-                from("direct:test").to("activemq:test.bytes");
+                from("activemq:ConsumeJmsBytesMessageTest.bytes").to("mock:result");
+                from("direct:test").to("activemq:ConsumeJmsBytesMessageTest.bytes");
             }
         };
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeJmsMapMessageTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeJmsMapMessageTest.java
index 4181045049e..d5c994ca31c 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeJmsMapMessageTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeJmsMapMessageTest.java
@@ -27,7 +27,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.support.ExchangeHelper;
-import org.apache.camel.test.junit5.CamelTestSupport;
+import org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
@@ -39,7 +39,7 @@ 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;
 
-public class ConsumeJmsMapMessageTest extends CamelTestSupport {
+public class ConsumeJmsMapMessageTest extends AbstractJMSTest {
 
     private static final Logger LOG = LoggerFactory.getLogger(ConsumeJmsMapMessageTest.class);
 
@@ -105,7 +105,7 @@ public class ConsumeJmsMapMessageTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory = ConnectionFactoryHelper.createConnectionFactory(service);
         jmsTemplate = new JmsTemplate(connectionFactory);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeJmsObjectMessageTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeJmsObjectMessageTest.java
index 08159bff061..f01a54519cc 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeJmsObjectMessageTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeJmsObjectMessageTest.java
@@ -26,17 +26,17 @@ import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.support.ExchangeHelper;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.springframework.jms.core.JmsTemplate;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 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;
 
-public class ConsumeJmsObjectMessageTest extends CamelTestSupport {
+public class ConsumeJmsObjectMessageTest extends AbstractJMSTest {
     protected JmsTemplate jmsTemplate;
     private MockEndpoint endpoint;
 
@@ -94,7 +94,8 @@ public class ConsumeJmsObjectMessageTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         jmsTemplate = new JmsTemplate(connectionFactory);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeMessageConverterTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeMessageConverterTest.java
index c78cfbf9b1d..6fe4f826992 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeMessageConverterTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/ConsumeMessageConverterTest.java
@@ -27,14 +27,14 @@ import org.apache.camel.BindToRegistry;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
+import org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper;
 import org.junit.jupiter.api.Test;
 import org.springframework.jms.support.converter.MessageConversionException;
 import org.springframework.jms.support.converter.MessageConverter;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
 
-public class ConsumeMessageConverterTest extends CamelTestSupport {
+public class ConsumeMessageConverterTest extends AbstractJMSTest {
 
     @BindToRegistry("myMessageConverter")
     private final MyMessageConverter conv = new MyMessageConverter();
@@ -43,7 +43,7 @@ public class ConsumeMessageConverterTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory = ConnectionFactoryHelper.createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
@@ -55,7 +55,7 @@ public class ConsumeMessageConverterTest extends CamelTestSupport {
         mock.expectedMessageCount(1);
         mock.message(0).body().isInstanceOf(TextMessage.class);
 
-        template.sendBody("activemq:queue:hello", "Hello World");
+        template.sendBody("activemq:queue:ConsumeMessageConverterTest", "Hello World");
 
         assertMockEndpointsSatisfied();
     }
@@ -66,7 +66,7 @@ public class ConsumeMessageConverterTest extends CamelTestSupport {
         mock.expectedMessageCount(1);
         mock.message(0).body().isInstanceOf(BytesMessage.class);
 
-        template.sendBody("activemq:queue:hello", "Hello World".getBytes());
+        template.sendBody("activemq:queue:ConsumeMessageConverterTest", "Hello World".getBytes());
 
         assertMockEndpointsSatisfied();
     }
@@ -75,7 +75,7 @@ public class ConsumeMessageConverterTest extends CamelTestSupport {
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                from("activemq:queue:hello?messageConverter=#myMessageConverter").to("mock:result");
+                from("activemq:queue:ConsumeMessageConverterTest?messageConverter=#myMessageConverter").to("mock:result");
             }
         };
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/FileRouteJmsKeepLastModifiedTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/FileRouteJmsKeepLastModifiedTest.java
index a5782f2504a..9048c251de1 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/FileRouteJmsKeepLastModifiedTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/FileRouteJmsKeepLastModifiedTest.java
@@ -17,46 +17,46 @@
 package org.apache.camel.component.jms;
 
 import java.io.File;
+import java.util.concurrent.TimeUnit;
 
 import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
+import org.awaitility.Awaitility;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.apache.camel.test.junit5.TestSupport.deleteDirectory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-/**
- *
- */
-public class FileRouteJmsKeepLastModifiedTest extends CamelTestSupport {
+public class FileRouteJmsKeepLastModifiedTest extends AbstractJMSTest {
 
     protected String componentName = "activemq";
+    private final File inbox = new File("target/FileRouteJmsKeepLastModifiedTest/inbox/hello.txt");
 
     @Override
     @BeforeEach
     public void setUp() throws Exception {
-        deleteDirectory("target/inbox");
-        deleteDirectory("target/outbox");
+        deleteDirectory("target/FileRouteJmsKeepLastModifiedTest/inbox");
+        deleteDirectory("target/FileRouteJmsKeepLastModifiedTest/outbox");
+
         super.setUp();
+
+        getMockEndpoint("mock:result").expectedMessageCount(1);
+        template.sendBodyAndHeader("file://target/FileRouteJmsKeepLastModifiedTest/inbox", "Hello World", Exchange.FILE_NAME,
+                "hello.txt");
     }
 
     @Test
     public void testKeepLastModified() throws Exception {
-        getMockEndpoint("mock:result").expectedMessageCount(1);
-
-        template.sendBodyAndHeader("file://target/inbox", "Hello World", Exchange.FILE_NAME, "hello.txt");
-
         assertMockEndpointsSatisfied();
+        Awaitility.await().atMost(5, TimeUnit.SECONDS).until(inbox::exists);
 
-        File inbox = new File("trarget/inbox/hello.txt");
-        File outbox = new File("trarget/outbox/hello.txt");
-
+        File outbox = new File("target/FileRouteJmsKeepLastModifiedTest/outbox/hello.txt");
         assertEquals(inbox.lastModified(), outbox.lastModified(), "Should keep last modified");
     }
 
@@ -64,7 +64,7 @@ public class FileRouteJmsKeepLastModifiedTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
@@ -74,12 +74,13 @@ public class FileRouteJmsKeepLastModifiedTest extends CamelTestSupport {
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                from("file://target/inbox?noop=true").to("activemq:queue:hello");
+                from("file://target/FileRouteJmsKeepLastModifiedTest/inbox?noop=true")
+                        .to("activemq:queue:FileRouteJmsKeepLastModifiedTest");
 
-                from("activemq:queue:hello")
+                from("activemq:queue:FileRouteJmsKeepLastModifiedTest")
                         // just a little delay so the write of the file happens later
                         .delayer(100)
-                        .to("file://target/outbox?keepLastModified=true")
+                        .to("file://target/FileRouteJmsKeepLastModifiedTest/outbox?keepLastModified=true")
                         .to("mock:result");
             }
         };
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/FileRouteJmsPreMoveTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/FileRouteJmsPreMoveTest.java
index df2b08aca07..bf99c6ee520 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/FileRouteJmsPreMoveTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/FileRouteJmsPreMoveTest.java
@@ -21,34 +21,35 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.apache.camel.test.junit5.TestSupport.deleteDirectory;
 
 /**
  *
  */
-public class FileRouteJmsPreMoveTest extends CamelTestSupport {
+public class FileRouteJmsPreMoveTest extends AbstractJMSTest {
 
     protected String componentName = "activemq";
 
     @Override
     @BeforeEach
     public void setUp() throws Exception {
-        deleteDirectory("target/inbox");
-        deleteDirectory("target/outbox");
+        deleteDirectory("target/FileRouteJmsPreMoveTest/inbox");
+        deleteDirectory("target/FileRouteJmsPreMoveTest/outbox");
         super.setUp();
     }
 
     @Test
     public void testPreMove() throws Exception {
         getMockEndpoint("mock:result").expectedMessageCount(1);
-        getMockEndpoint("mock:result").expectedFileExists("target/outbox/hello.txt", "Hello World");
+        getMockEndpoint("mock:result").expectedFileExists("target/FileRouteJmsPreMoveTest/outbox/hello.txt", "Hello World");
 
-        template.sendBodyAndHeader("file://target/inbox", "Hello World", Exchange.FILE_NAME, "hello.txt");
+        template.sendBodyAndHeader("file://target/FileRouteJmsPreMoveTest/inbox", "Hello World", Exchange.FILE_NAME,
+                "hello.txt");
 
         assertMockEndpointsSatisfied();
     }
@@ -57,7 +58,8 @@ public class FileRouteJmsPreMoveTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
@@ -67,11 +69,11 @@ public class FileRouteJmsPreMoveTest extends CamelTestSupport {
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                from("file://target/inbox?preMove=transfer").to("activemq:queue:hello");
+                from("file://target/FileRouteJmsPreMoveTest/inbox?preMove=transfer").to("activemq:queue:hello");
 
                 from("activemq:queue:hello")
                         .to("log:outbox")
-                        .to("file://target/outbox")
+                        .to("file://target/FileRouteJmsPreMoveTest/outbox")
                         .to("mock:result");
             }
         };
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/FileRouteToJmsTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/FileRouteToJmsTest.java
index c815acafe67..adebc85667f 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/FileRouteToJmsTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/FileRouteToJmsTest.java
@@ -22,16 +22,16 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.apache.camel.test.junit5.TestSupport.deleteDirectory;
 
 /**
  * Unit test that we can produce JMS message from files
  */
-public class FileRouteToJmsTest extends CamelTestSupport {
+public class FileRouteToJmsTest extends AbstractJMSTest {
 
     protected String componentName = "activemq";
 
@@ -52,7 +52,8 @@ public class FileRouteToJmsTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
@@ -62,9 +63,9 @@ public class FileRouteToJmsTest extends CamelTestSupport {
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                from("file://target/routefromfile").to("activemq:queue:hello");
+                from("file://target/routefromfile").to("activemq:queue:FileRouteToJmsTest");
 
-                from("activemq:queue:hello").to("mock:result");
+                from("activemq:queue:FileRouteToJmsTest").to("mock:result");
             }
         };
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/FileRouteToJmsToFileTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/FileRouteToJmsToFileTest.java
index 9feda4ba367..4f8c548ba82 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/FileRouteToJmsToFileTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/FileRouteToJmsToFileTest.java
@@ -25,24 +25,24 @@ import org.apache.camel.Exchange;
 import org.apache.camel.builder.NotifyBuilder;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.apache.camel.test.junit5.TestSupport.deleteDirectory;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Unit test that we can do file over JMS to file.
  */
-public class FileRouteToJmsToFileTest extends CamelTestSupport {
+public class FileRouteToJmsToFileTest extends AbstractJMSTest {
 
     protected String componentName = "activemq";
 
     @Test
     public void testRouteFileToFile() throws Exception {
         deleteDirectory("target/file2file");
-        NotifyBuilder notify = new NotifyBuilder(context).from("activemq:queue:hello").whenDone(1).create();
+        NotifyBuilder notify = new NotifyBuilder(context).from("activemq:queue:FileRouteToJmsToFileTest").whenDone(1).create();
 
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(1);
@@ -61,7 +61,8 @@ public class FileRouteToJmsToFileTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
@@ -71,9 +72,9 @@ public class FileRouteToJmsToFileTest extends CamelTestSupport {
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                from("file://target/file2file/in").to("activemq:queue:hello");
+                from("file://target/file2file/in").to("activemq:queue:FileRouteToJmsToFileTest");
 
-                from("activemq:queue:hello").to("file://target/file2file/out", "mock:result");
+                from("activemq:queue:FileRouteToJmsToFileTest").to("file://target/file2file/out", "mock:result");
             }
         };
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/FromTextToBytesMessageTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/FromTextToBytesMessageTest.java
index 6cb75ff0651..a7918478670 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/FromTextToBytesMessageTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/FromTextToBytesMessageTest.java
@@ -21,24 +21,24 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.apache.camel.test.junit5.TestSupport.assertIsInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 /**
  *
  */
-public class FromTextToBytesMessageTest extends CamelTestSupport {
+public class FromTextToBytesMessageTest extends AbstractJMSTest {
 
     @Test
     public void testTextToBytes() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:bar");
         mock.expectedMessageCount(1);
 
-        template.sendBody("activemq:queue:foo", "3");
+        template.sendBody("activemq:queue:text2bytes", "3");
 
         assertMockEndpointsSatisfied();
 
@@ -52,7 +52,7 @@ public class FromTextToBytesMessageTest extends CamelTestSupport {
         MockEndpoint mock = getMockEndpoint("mock:bar");
         mock.expectedMessageCount(1);
 
-        template.sendBody("activemq:queue:header", "3");
+        template.sendBody("activemq:queue:text2bytesHeader", "3");
 
         assertMockEndpointsSatisfied();
 
@@ -66,7 +66,7 @@ public class FromTextToBytesMessageTest extends CamelTestSupport {
         MockEndpoint mock = getMockEndpoint("mock:bar");
         mock.expectedMessageCount(1);
 
-        template.sendBody("activemq:queue:text", "Hello");
+        template.sendBody("activemq:queue:text2text", "Hello");
 
         assertMockEndpointsSatisfied();
 
@@ -79,7 +79,8 @@ public class FromTextToBytesMessageTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
@@ -90,17 +91,17 @@ public class FromTextToBytesMessageTest extends CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
-                from("activemq:queue:foo?jmsMessageType=Text")
-                        .to("activemq:queue:bar?jmsMessageType=Bytes");
+                from("activemq:queue:text2bytes?jmsMessageType=Text")
+                        .to("activemq:queue:destQFTTB?jmsMessageType=Bytes");
 
-                from("activemq:queue:header?jmsMessageType=Text")
+                from("activemq:queue:text2bytesHeader?jmsMessageType=Text")
                         .setHeader("myHeader", constant("123"))
-                        .to("activemq:queue:bar?jmsMessageType=Bytes");
+                        .to("activemq:queue:destQFTTB?jmsMessageType=Bytes");
 
-                from("activemq:queue:text?jmsMessageType=Text")
-                        .to("activemq:queue:bar?jmsMessageType=Text");
+                from("activemq:queue:text2text?jmsMessageType=Text")
+                        .to("activemq:queue:destQFTTB?jmsMessageType=Text");
 
-                from("activemq:queue:bar")
+                from("activemq:queue:destQFTTB")
                         .to("mock:bar");
             }
         };
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAddAndRemoveRouteManagementTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAddAndRemoveRouteManagementTest.java
index d2fb9752819..43fb1c47bcb 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAddAndRemoveRouteManagementTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAddAndRemoveRouteManagementTest.java
@@ -24,16 +24,16 @@ import javax.management.ObjectName;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * Test that all thread pools is removed when adding and removing a route dynamically
  */
-public class JmsAddAndRemoveRouteManagementTest extends CamelTestSupport {
+public class JmsAddAndRemoveRouteManagementTest extends AbstractJMSTest {
 
     @Override
     protected boolean useJmx() {
@@ -55,15 +55,15 @@ public class JmsAddAndRemoveRouteManagementTest extends CamelTestSupport {
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() {
-                from("activemq:queue:in").routeId("myNewRoute")
-                        .to("activemq:queue:foo");
+                from("activemq:queue:JmsAddAndRemoveRouteManagementTest.in").routeId("myNewRoute")
+                        .to("activemq:queue:JmsAddAndRemoveRouteManagementTest.foo");
             }
         });
 
         Set<ObjectName> during = mbeanServer.queryNames(new ObjectName("*:type=threadpools,*"), null);
         assertEquals(before.size() + 1, during.size(), "There should be one more thread pool in JMX");
 
-        template.sendBody("activemq:queue:in", "Hello World");
+        template.sendBody("activemq:queue:JmsAddAndRemoveRouteManagementTest.in", "Hello World");
 
         assertMockEndpointsSatisfied();
 
@@ -78,7 +78,7 @@ public class JmsAddAndRemoveRouteManagementTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
@@ -89,7 +89,7 @@ public class JmsAddAndRemoveRouteManagementTest extends CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
-                from("activemq:queue:foo").to("mock:result");
+                from("activemq:queue:JmsAddAndRemoveRouteManagementTest.foo").to("mock:result");
             }
         };
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAllowAdditionalHeadersTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAllowAdditionalHeadersTest.java
index 6e9f7e8ee8c..f458f1c997a 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAllowAdditionalHeadersTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAllowAdditionalHeadersTest.java
@@ -20,12 +20,12 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsAllowAdditionalHeadersTest extends CamelTestSupport {
+public class JmsAllowAdditionalHeadersTest extends AbstractJMSTest {
 
     @Test
     public void testAllowAdditionalHeaders() throws Exception {
@@ -47,7 +47,8 @@ public class JmsAllowAdditionalHeadersTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
 
         JmsComponent jms = jmsComponentAutoAcknowledge(connectionFactory);
         // allow any of those special IBM headers (notice we use * as wildcard)
@@ -63,9 +64,9 @@ public class JmsAllowAdditionalHeadersTest extends CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
-                from("direct:start").to("jms:queue:bar");
+                from("direct:start").to("jms:queue:JmsAllowAdditionalHeadersTest");
 
-                from("jms:queue:bar").to("mock:bar");
+                from("jms:queue:JmsAllowAdditionalHeadersTest").to("mock:bar");
             }
         };
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAllowNullBodyTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAllowNullBodyTest.java
index ac1b98f65ff..ae0f1e3ecd7 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAllowNullBodyTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAllowNullBodyTest.java
@@ -22,10 +22,10 @@ import javax.jms.JMSException;
 import org.apache.camel.CamelContext;
 import org.apache.camel.CamelExecutionException;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.apache.camel.test.junit5.TestSupport.assertIsInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.fail;
@@ -33,7 +33,7 @@ import static org.junit.jupiter.api.Assertions.fail;
 /**
  *
  */
-public class JmsAllowNullBodyTest extends CamelTestSupport {
+public class JmsAllowNullBodyTest extends AbstractJMSTest {
 
     @Test
     public void testAllowNullBodyDefault() throws Exception {
@@ -42,7 +42,7 @@ public class JmsAllowNullBodyTest extends CamelTestSupport {
         getMockEndpoint("mock:result").message(0).header("bar").isEqualTo(123);
 
         // allow null body is default enabled
-        template.sendBodyAndHeader("activemq:queue:foo", null, "bar", 123);
+        template.sendBodyAndHeader("activemq:queue:JmsAllowNullBodyTest", null, "bar", 123);
 
         assertMockEndpointsSatisfied();
     }
@@ -53,7 +53,7 @@ public class JmsAllowNullBodyTest extends CamelTestSupport {
         getMockEndpoint("mock:result").message(0).body().isNull();
         getMockEndpoint("mock:result").message(0).header("bar").isEqualTo(123);
 
-        template.sendBodyAndHeader("activemq:queue:foo?allowNullBody=true", null, "bar", 123);
+        template.sendBodyAndHeader("activemq:queue:JmsAllowNullBodyTest?allowNullBody=true", null, "bar", 123);
 
         assertMockEndpointsSatisfied();
     }
@@ -64,7 +64,8 @@ public class JmsAllowNullBodyTest extends CamelTestSupport {
         getMockEndpoint("mock:result").message(0).body().isNull();
         getMockEndpoint("mock:result").message(0).header("bar").isEqualTo(123);
 
-        template.sendBodyAndHeader("activemq:queue:foo?allowNullBody=true&jmsMessageType=Text", null, "bar", 123);
+        template.sendBodyAndHeader("activemq:queue:JmsAllowNullBodyTest?allowNullBody=true&jmsMessageType=Text", null, "bar",
+                123);
 
         assertMockEndpointsSatisfied();
     }
@@ -72,7 +73,7 @@ public class JmsAllowNullBodyTest extends CamelTestSupport {
     @Test
     public void testNoAllowNullBody() {
         try {
-            template.sendBodyAndHeader("activemq:queue:foo?allowNullBody=false", null, "bar", 123);
+            template.sendBodyAndHeader("activemq:queue:JmsAllowNullBodyTest?allowNullBody=false", null, "bar", 123);
             fail("Should have thrown exception");
         } catch (CamelExecutionException e) {
             JMSException cause = assertIsInstanceOf(JMSException.class, e.getCause().getCause());
@@ -83,7 +84,8 @@ public class JmsAllowNullBodyTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
@@ -93,7 +95,7 @@ public class JmsAllowNullBodyTest extends CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
-                from("activemq:queue:foo").to("mock:result");
+                from("activemq:queue:JmsAllowNullBodyTest").to("mock:result");
             }
         };
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAsyncStartStopListenerTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAsyncStartStopListenerTest.java
index a058b3dc7d3..71e4d0161d0 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAsyncStartStopListenerTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAsyncStartStopListenerTest.java
@@ -21,7 +21,6 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
@@ -29,7 +28,7 @@ import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknow
 /**
  * Testing with async start listener
  */
-public class JmsAsyncStartStopListenerTest extends CamelTestSupport {
+public class JmsAsyncStartStopListenerTest extends AbstractJMSTest {
 
     protected String componentName = "activemq";
 
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAsyncStopListenerTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAsyncStopListenerTest.java
index a5290369bda..8ce61e88270 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAsyncStopListenerTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsAsyncStopListenerTest.java
@@ -21,25 +21,27 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 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.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
 /**
  * Testing with async stop listener
  */
-public class JmsAsyncStopListenerTest extends CamelTestSupport {
+@TestInstance(TestInstance.Lifecycle.PER_METHOD)
+public class JmsAsyncStopListenerTest extends AbstractJMSTest {
 
     protected String componentName = "activemq";
 
     @Test
     public void testAsyncStopListener() throws Exception {
-        MockEndpoint result = getMockEndpoint("mock:result");
+        MockEndpoint result = getMockEndpoint("mock:JmsAsyncStopListenerTest");
         result.expectedMessageCount(2);
 
-        template.sendBody("activemq:queue:hello2", "Hello World");
-        template.sendBody("activemq:queue:hello2", "Gooday World");
+        template.sendBody("activemq:queue:JmsAsyncStopListenerTest", "Hello World");
+        template.sendBody("activemq:queue:JmsAsyncStopListenerTest", "Gooday World");
 
         result.assertIsSatisfied();
     }
@@ -48,7 +50,7 @@ public class JmsAsyncStopListenerTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory = createConnectionFactory(service);
         JmsComponent jms = jmsComponentAutoAcknowledge(connectionFactory);
         jms.getConfiguration().setAsyncStopListener(true);
         camelContext.addComponent(componentName, jms);
@@ -60,7 +62,7 @@ public class JmsAsyncStopListenerTest extends CamelTestSupport {
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                from("activemq:queue:hello2").to("mock:result");
+                from("activemq:queue:JmsAsyncStopListenerTest").to("mock:JmsAsyncStopListenerTest");
             }
         };
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsBatchResequencerJMSPriorityTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsBatchResequencerJMSPriorityTest.java
index e4fb7108e80..7509634cdb7 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsBatchResequencerJMSPriorityTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsBatchResequencerJMSPriorityTest.java
@@ -21,15 +21,15 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
 /**
  * JMSPriority being ordered using the resequencer in batch mode.
  */
-public class JmsBatchResequencerJMSPriorityTest extends CamelTestSupport {
+public class JmsBatchResequencerJMSPriorityTest extends AbstractJMSTest {
 
     @Test
     public void testBatchResequencerJMSPriority() throws Exception {
@@ -37,14 +37,22 @@ public class JmsBatchResequencerJMSPriorityTest extends CamelTestSupport {
         mock.expectedBodiesReceived("G", "A", "B", "E", "H", "C", "D", "F");
 
         // must use preserveMessageQos=true to be able to specify the JMSPriority to be used
-        template.sendBodyAndHeader("jms:queue:foo?preserveMessageQos=true", "A", "JMSPriority", 6);
-        template.sendBodyAndHeader("jms:queue:foo?preserveMessageQos=true", "B", "JMSPriority", 6);
-        template.sendBodyAndHeader("jms:queue:foo?preserveMessageQos=true", "C", "JMSPriority", 4);
-        template.sendBodyAndHeader("jms:queue:foo?preserveMessageQos=true", "D", "JMSPriority", 4);
-        template.sendBodyAndHeader("jms:queue:foo?preserveMessageQos=true", "E", "JMSPriority", 6);
-        template.sendBodyAndHeader("jms:queue:foo?preserveMessageQos=true", "F", "JMSPriority", 4);
-        template.sendBodyAndHeader("jms:queue:foo?preserveMessageQos=true", "G", "JMSPriority", 8);
-        template.sendBodyAndHeader("jms:queue:foo?preserveMessageQos=true", "H", "JMSPriority", 6);
+        template.sendBodyAndHeader("jms:queue:JmsBatchResequencerJMSPriorityTest?preserveMessageQos=true", "A", "JMSPriority",
+                6);
+        template.sendBodyAndHeader("jms:queue:JmsBatchResequencerJMSPriorityTest?preserveMessageQos=true", "B", "JMSPriority",
+                6);
+        template.sendBodyAndHeader("jms:queue:JmsBatchResequencerJMSPriorityTest?preserveMessageQos=true", "C", "JMSPriority",
+                4);
+        template.sendBodyAndHeader("jms:queue:JmsBatchResequencerJMSPriorityTest?preserveMessageQos=true", "D", "JMSPriority",
+                4);
+        template.sendBodyAndHeader("jms:queue:JmsBatchResequencerJMSPriorityTest?preserveMessageQos=true", "E", "JMSPriority",
+                6);
+        template.sendBodyAndHeader("jms:queue:JmsBatchResequencerJMSPriorityTest?preserveMessageQos=true", "F", "JMSPriority",
+                4);
+        template.sendBodyAndHeader("jms:queue:JmsBatchResequencerJMSPriorityTest?preserveMessageQos=true", "G", "JMSPriority",
+                8);
+        template.sendBodyAndHeader("jms:queue:JmsBatchResequencerJMSPriorityTest?preserveMessageQos=true", "H", "JMSPriority",
+                6);
 
         assertMockEndpointsSatisfied();
     }
@@ -53,7 +61,8 @@ public class JmsBatchResequencerJMSPriorityTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("jms", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
@@ -65,7 +74,7 @@ public class JmsBatchResequencerJMSPriorityTest extends CamelTestSupport {
             @Override
             public void configure() {
                 // START SNIPPET: e1
-                from("jms:queue:foo")
+                from("jms:queue:JmsBatchResequencerJMSPriorityTest")
                         // sort by JMSPriority by allowing duplicates (message can have same JMSPriority)
                         // and use reverse ordering so 9 is first output (most important), and 0 is last
                         // use batch mode and fire every 3rd second
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsClientAckTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsClientAckTest.java
index ef3b58cc71f..5d5ee06f7ed 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsClientAckTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsClientAckTest.java
@@ -22,14 +22,14 @@ import javax.jms.Session;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentClientAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
-public class JmsClientAckTest extends CamelTestSupport {
+public class JmsClientAckTest extends AbstractJMSTest {
 
     protected String componentName = "activemq";
 
@@ -38,7 +38,7 @@ public class JmsClientAckTest extends CamelTestSupport {
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(1);
 
-        template.sendBody("activemq:queue:foo", "Hello World");
+        template.sendBody("activemq:queue:JmsClientAckTest", "Hello World");
 
         assertMockEndpointsSatisfied();
     }
@@ -47,7 +47,8 @@ public class JmsClientAckTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentClientAcknowledge(connectionFactory));
 
         return camelContext;
@@ -58,7 +59,7 @@ public class JmsClientAckTest extends CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
-                from("activemq:queue:foo")
+                from("activemq:queue:JmsClientAckTest")
                         .process(exchange -> {
                             JmsMessage jms = exchange.getIn(JmsMessage.class);
                             assertNotNull(jms);
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsComponentTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsComponentTest.java
index 02479b8ab01..00c1fa76068 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsComponentTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsComponentTest.java
@@ -20,14 +20,14 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-public class JmsComponentTest extends CamelTestSupport {
+public class JmsComponentTest extends AbstractJMSTest {
 
     protected String componentName = "activemq123";
     protected JmsEndpoint endpoint;
@@ -63,7 +63,8 @@ public class JmsComponentTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         JmsComponent comp = jmsComponentAutoAcknowledge(connectionFactory);
 
         comp.setAcceptMessagesWhileStopping(true);
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsConsumerRestartPickupConfigurationChangesTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsConsumerRestartPickupConfigurationChangesTest.java
index 877fa327e8d..cd161f0b9d2 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsConsumerRestartPickupConfigurationChangesTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsConsumerRestartPickupConfigurationChangesTest.java
@@ -20,29 +20,30 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsConsumerRestartPickupConfigurationChangesTest extends CamelTestSupport {
+public class JmsConsumerRestartPickupConfigurationChangesTest extends AbstractJMSTest {
 
     @Test
     public void testRestartJmsConsumerPickupChanges() throws Exception {
-        JmsEndpoint endpoint = context.getEndpoint("activemq:queue:foo", JmsEndpoint.class);
+        JmsEndpoint endpoint = context.getEndpoint("activemq:queue:JmsConsumerRestartPickupConfigurationChangesTest.Request",
+                JmsEndpoint.class);
         JmsConsumer consumer = endpoint.createConsumer(exchange -> template.send("mock:result", exchange));
 
         consumer.start();
 
         MockEndpoint result = getMockEndpoint("mock:result");
         result.expectedBodiesReceived("Hello World");
-        template.sendBody("activemq:queue:foo", "Hello World");
+        template.sendBody("activemq:queue:JmsConsumerRestartPickupConfigurationChangesTest.Request", "Hello World");
         assertMockEndpointsSatisfied();
 
         consumer.stop();
 
         // change to listen on another queue
-        endpoint.setDestinationName("bar");
+        endpoint.setDestinationName("JmsConsumerRestartPickupConfigurationChangesTest.Destination");
         endpoint.setConcurrentConsumers(2);
 
         // restart it
@@ -50,7 +51,7 @@ public class JmsConsumerRestartPickupConfigurationChangesTest extends CamelTestS
 
         result.reset();
         result.expectedBodiesReceived("Bye World");
-        template.sendBody("activemq:queue:bar", "Bye World");
+        template.sendBody("activemq:queue:JmsConsumerRestartPickupConfigurationChangesTest.Destination", "Bye World");
         assertMockEndpointsSatisfied();
 
         consumer.stop();
@@ -60,7 +61,8 @@ public class JmsConsumerRestartPickupConfigurationChangesTest extends CamelTestS
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsCustomHeaderFilterStrategyTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsCustomHeaderFilterStrategyTest.java
index add212c5fdb..190b5a99028 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsCustomHeaderFilterStrategyTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsCustomHeaderFilterStrategyTest.java
@@ -26,12 +26,12 @@ import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.spi.HeaderFilterStrategy;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsCustomHeaderFilterStrategyTest extends CamelTestSupport {
+public class JmsCustomHeaderFilterStrategyTest extends AbstractJMSTest {
 
     protected String componentName = "activemq";
 
@@ -46,7 +46,7 @@ public class JmsCustomHeaderFilterStrategyTest extends CamelTestSupport {
         headers.put("foo", "bar");
         headers.put("skipme", 123);
 
-        template.sendBodyAndHeaders("activemq:queue:foo", "Hello World", headers);
+        template.sendBodyAndHeaders("activemq:queue:JmsCustomHeaderFilterStrategyTest", "Hello World", headers);
 
         assertMockEndpointsSatisfied();
     }
@@ -55,7 +55,8 @@ public class JmsCustomHeaderFilterStrategyTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         JmsComponent jms = camelContext.getComponent(componentName, JmsComponent.class);
@@ -69,7 +70,7 @@ public class JmsCustomHeaderFilterStrategyTest extends CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
-                from("activemq:queue:foo?eagerLoadingOfProperties=true").to("mock:result");
+                from("activemq:queue:JmsCustomHeaderFilterStrategyTest?eagerLoadingOfProperties=true").to("mock:result");
             }
         };
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDeadLetterQueueTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDeadLetterQueueTest.java
index c76f56763ec..5edea6ed8f7 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDeadLetterQueueTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDeadLetterQueueTest.java
@@ -22,19 +22,19 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertNull;
 
 /**
  * Unit test for using JMS as DLQ
  */
-public class JmsDeadLetterQueueTest extends CamelTestSupport {
+public class JmsDeadLetterQueueTest extends AbstractJMSTest {
 
     protected String getUri() {
-        return "activemq:queue:dead";
+        return "activemq:queue:JmsDeadLetterQueueTest";
     }
 
     @Test
@@ -64,7 +64,8 @@ public class JmsDeadLetterQueueTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDeadLetterQueueUsingTransferExchangeTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDeadLetterQueueUsingTransferExchangeTest.java
index d7ec4e14a1d..8dc775675b4 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDeadLetterQueueUsingTransferExchangeTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDeadLetterQueueUsingTransferExchangeTest.java
@@ -21,18 +21,18 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
 /**
  * Unit test for using JMS as DLQ and to preserve the Exchange using transferExchange=true option
  */
-public class JmsDeadLetterQueueUsingTransferExchangeTest extends CamelTestSupport {
+public class JmsDeadLetterQueueUsingTransferExchangeTest extends AbstractJMSTest {
 
     protected String getUri() {
-        return "activemq:queue:dead?transferExchange=true";
+        return "activemq:queue:JmsDeadLetterQueueUsingTransferExchangeTest?transferExchange=true";
     }
 
     @Test
@@ -59,7 +59,8 @@ public class JmsDeadLetterQueueUsingTransferExchangeTest extends CamelTestSuppor
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDefaultTaskExecutorTypeTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDefaultTaskExecutorTypeTest.java
index 542aa3dc3b9..3428fa1c93b 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDefaultTaskExecutorTypeTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDefaultTaskExecutorTypeTest.java
@@ -27,19 +27,19 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.apache.camel.util.concurrent.ThreadHelper;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  *
  */
-public class JmsDefaultTaskExecutorTypeTest extends CamelTestSupport {
+public class JmsDefaultTaskExecutorTypeTest extends AbstractJMSTest {
 
     private static final Logger LOG = LoggerFactory.getLogger(JmsDefaultTaskExecutorTypeTest.class);
 
@@ -115,7 +115,8 @@ public class JmsDefaultTaskExecutorTypeTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         JmsComponent jmsComponent = jmsComponentAutoAcknowledge(connectionFactory);
         jmsComponent.getConfiguration().setMaxMessagesPerTask(1);
         jmsComponent.getConfiguration().setIdleTaskExecutionLimit(1);
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDestinationResolverTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDestinationResolverTest.java
index 8b59c6f4717..95839801410 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDestinationResolverTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDestinationResolverTest.java
@@ -21,12 +21,12 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsDestinationResolverTest extends CamelTestSupport {
+public class JmsDestinationResolverTest extends AbstractJMSTest {
 
     protected String componentName = "activemq";
 
@@ -45,7 +45,7 @@ public class JmsDestinationResolverTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         JmsComponent jms = camelContext.getComponent(componentName, JmsComponent.class);
@@ -58,9 +58,9 @@ public class JmsDestinationResolverTest extends CamelTestSupport {
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                from("direct:start").to("activemq:queue:logicalNameForTestBQueue");
+                from("direct:start").to("activemq:queue:JmsDestinationResolverTest.logicalNameForTestBQueue");
 
-                from("activemq:queue:test.b").to("mock:result");
+                from("activemq:queue:JmsDestinationResolverTest.b").to("mock:result");
             }
         };
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsEagerLoadingPropertiesTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsEagerLoadingPropertiesTest.java
index fdede2aa75a..541ff07c9ab 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsEagerLoadingPropertiesTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsEagerLoadingPropertiesTest.java
@@ -21,13 +21,13 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsEagerLoadingPropertiesTest extends CamelTestSupport {
+public class JmsEagerLoadingPropertiesTest extends AbstractJMSTest {
 
     @Test
     public void testJmsEagerLoadingPropertiesTest() throws Exception {
@@ -44,7 +44,8 @@ public class JmsEagerLoadingPropertiesTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsEndpointConfigurationTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsEndpointConfigurationTest.java
index 9cbde9949b4..2a046bccb66 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsEndpointConfigurationTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsEndpointConfigurationTest.java
@@ -27,7 +27,6 @@ import org.apache.camel.Processor;
 import org.apache.camel.Producer;
 import org.apache.camel.ResolveEndpointFailedException;
 import org.apache.camel.ServiceStatus;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -39,6 +38,7 @@ import org.springframework.jms.listener.DefaultMessageListenerContainer;
 import org.springframework.jms.listener.SimpleMessageListenerContainer;
 import org.springframework.jms.support.converter.SimpleMessageConverter;
 
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.apache.camel.test.junit5.TestSupport.assertIsInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -48,7 +48,7 @@ import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.junit.jupiter.api.Assertions.fail;
 
-public class JmsEndpointConfigurationTest extends CamelTestSupport {
+public class JmsEndpointConfigurationTest extends AbstractJMSTest {
 
     private static final Logger LOG = LoggerFactory.getLogger(ConsumeJmsMapMessageTest.class);
 
@@ -56,32 +56,37 @@ public class JmsEndpointConfigurationTest extends CamelTestSupport {
     private final ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("vm:myBroker");
     private final Processor failProcessor = exchange -> fail("Should not be reached");
 
-    private final Processor dummyProcessor = exchange -> LOG.info("Received: " + exchange);
+    private final Processor dummyProcessor = exchange -> LOG.info("Received: {}", exchange);
 
     @Test
     public void testDurableSubscriberConfiguredWithDoubleSlash() throws Exception {
         JmsEndpoint endpoint
-                = resolveMandatoryEndpoint("jms://topic:Foo.Bar?durableSubscriptionName=James&clientId=ABC", JmsEndpoint.class);
+                = resolveMandatoryEndpoint(
+                        "jms://topic:Foo.Bar.JmsEndpointConfigurationTest?durableSubscriptionName=James&clientId=ABC",
+                        JmsEndpoint.class);
         assertDurableSubscriberEndpointIsValid(endpoint);
     }
 
     @Test
     public void testDurableSubscriberConfiguredWithNoSlashes() throws Exception {
         JmsEndpoint endpoint
-                = resolveMandatoryEndpoint("jms:topic:Foo.Bar?durableSubscriptionName=James&clientId=ABC", JmsEndpoint.class);
+                = resolveMandatoryEndpoint(
+                        "jms:topic:Foo.Bar.JmsEndpointConfigurationTest?durableSubscriptionName=James&clientId=ABC",
+                        JmsEndpoint.class);
         assertDurableSubscriberEndpointIsValid(endpoint);
     }
 
     @Test
     public void testDurableSharedSubscriber() throws Exception {
         JmsEndpoint endpoint = resolveMandatoryEndpoint(
-                "jms:topic:Foo.Bar?subscriptionDurable=true&subscriptionShared=true&subscriptionName=James", JmsEndpoint.class);
+                "jms:topic:Foo.Bar.JmsEndpointConfigurationTest?subscriptionDurable=true&subscriptionShared=true&subscriptionName=James",
+                JmsEndpoint.class);
         JmsConfiguration configuration = endpoint.getConfiguration();
         assertTrue(configuration.isSubscriptionDurable(), "isSubscriptionDurable()");
         assertTrue(configuration.isSubscriptionShared(), "isSubscriptionShared()");
         assertEquals("James", configuration.getSubscriptionName(), "getSubscriptionName()");
 
-        JmsConsumer consumer = endpoint.createConsumer(exchange -> LOG.info("Received: " + exchange));
+        JmsConsumer consumer = endpoint.createConsumer(exchange -> LOG.info("Received: {}", exchange));
         AbstractMessageListenerContainer listenerContainer = consumer.getListenerContainer();
         assertTrue(listenerContainer.isSubscriptionDurable(), "isSubscriptionDurable()");
         assertTrue(listenerContainer.isSubscriptionShared(), "isSubscriptionShared()");
@@ -90,14 +95,15 @@ public class JmsEndpointConfigurationTest extends CamelTestSupport {
 
     @Test
     public void testNonDurableSharedSubscriber() throws Exception {
-        JmsEndpoint endpoint = resolveMandatoryEndpoint("jms:topic:Foo.Bar?subscriptionShared=true&subscriptionName=James",
+        JmsEndpoint endpoint = resolveMandatoryEndpoint(
+                "jms:topic:Foo.Bar.JmsEndpointConfigurationTest?subscriptionShared=true&subscriptionName=James",
                 JmsEndpoint.class);
         JmsConfiguration configuration = endpoint.getConfiguration();
         assertFalse(configuration.isSubscriptionDurable(), "isSubscriptionDurable()");
         assertTrue(configuration.isSubscriptionShared(), "isSubscriptionShared()");
         assertEquals("James", configuration.getSubscriptionName(), "getSubscriptionName()");
 
-        JmsConsumer consumer = endpoint.createConsumer(exchange -> LOG.info("Received: " + exchange));
+        JmsConsumer consumer = endpoint.createConsumer(exchange -> LOG.info("Received: {}", exchange));
         AbstractMessageListenerContainer listenerContainer = consumer.getListenerContainer();
         assertFalse(listenerContainer.isSubscriptionDurable(), "isSubscriptionDurable()");
         assertTrue(listenerContainer.isSubscriptionShared(), "isSubscriptionShared()");
@@ -106,7 +112,8 @@ public class JmsEndpointConfigurationTest extends CamelTestSupport {
 
     @Test
     public void testSetUsernameAndPassword() {
-        JmsEndpoint endpoint = resolveMandatoryEndpoint("jms:topic:Foo.Bar?username=James&password=ABC", JmsEndpoint.class);
+        JmsEndpoint endpoint = resolveMandatoryEndpoint(
+                "jms:topic:Foo.Bar.JmsEndpointConfigurationTest?username=James&password=ABC", JmsEndpoint.class);
         ConnectionFactory cf = endpoint.getConfiguration().getConnectionFactory();
         assertNotNull(cf, "The connectionFactory should not be null");
         assertTrue(cf instanceof UserCredentialsConnectionFactoryAdapter,
@@ -116,7 +123,8 @@ public class JmsEndpointConfigurationTest extends CamelTestSupport {
     @Test
     public void testSetConnectionFactoryAndUsernameAndPassword() {
         JmsEndpoint endpoint = resolveMandatoryEndpoint(
-                "jms:topic:Foo.Bar?connectionFactory=#myConnectionFactory&username=James&password=ABC", JmsEndpoint.class);
+                "jms:topic:Foo.Bar.JmsEndpointConfigurationTest?connectionFactory=#myConnectionFactory&username=James&password=ABC",
+                JmsEndpoint.class);
         ConnectionFactory cf = endpoint.getConfiguration().getConnectionFactory();
         assertNotNull(cf, "The connectionFactory should not be null");
         assertTrue(cf instanceof UserCredentialsConnectionFactoryAdapter,
@@ -126,14 +134,14 @@ public class JmsEndpointConfigurationTest extends CamelTestSupport {
     @Test
     public void testNotSetUsernameOrPassword() {
         try {
-            resolveMandatoryEndpoint("jms:topic:Foo.Bar?username=James");
+            resolveMandatoryEndpoint("jms:topic:Foo.Bar.JmsEndpointConfigurationTest?username=James");
             fail("Expect the exception here");
         } catch (ResolveEndpointFailedException refe) {
             // expected
         }
 
         try {
-            resolveMandatoryEndpoint("jms:topic:Foo.Bar?password=ABC");
+            resolveMandatoryEndpoint("jms:topic:Foo.Bar.JmsEndpointConfigurationTest?password=ABC");
             fail("Expect the exception here");
         } catch (ResolveEndpointFailedException refe) {
             // expected
@@ -142,7 +150,8 @@ public class JmsEndpointConfigurationTest extends CamelTestSupport {
 
     @Test
     public void testSelector() throws Exception {
-        JmsEndpoint endpoint = resolveMandatoryEndpoint("jms:Foo.Bar?selector=foo%3D'ABC'", JmsEndpoint.class);
+        JmsEndpoint endpoint
+                = resolveMandatoryEndpoint("jms:Foo.JmsEndpointConfigurationTest?selector=foo%3D'ABC'", JmsEndpoint.class);
         JmsConsumer consumer = endpoint.createConsumer(dummyProcessor);
 
         AbstractMessageListenerContainer container = consumer.getListenerContainer();
@@ -184,13 +193,13 @@ public class JmsEndpointConfigurationTest extends CamelTestSupport {
 
     @Test
     public void testCacheConsumerEnabledForTopic() throws Exception {
-        JmsEndpoint endpoint = resolveMandatoryEndpoint("jms:topic:Foo.Bar", JmsEndpoint.class);
+        JmsEndpoint endpoint = resolveMandatoryEndpoint("jms:topic:Foo.Bar.JmsEndpointConfigurationTest", JmsEndpoint.class);
         assertCacheLevel(endpoint, DefaultMessageListenerContainer.CACHE_AUTO);
     }
 
     @Test
     public void testReplyToPesistentDelivery() throws Exception {
-        JmsEndpoint endpoint = resolveMandatoryEndpoint("jms:queue:Foo", JmsEndpoint.class);
+        JmsEndpoint endpoint = resolveMandatoryEndpoint("jms:queue:Foo.JmsEndpointConfigurationTest", JmsEndpoint.class);
         endpoint.getConfiguration().setDeliveryPersistent(true);
         endpoint.getConfiguration().setReplyToDeliveryPersistent(false);
         Producer producer = endpoint.createProducer();
@@ -205,21 +214,26 @@ public class JmsEndpointConfigurationTest extends CamelTestSupport {
 
     @Test
     public void testMaxConcurrentConsumers() {
-        JmsEndpoint endpoint = resolveMandatoryEndpoint("jms:queue:Foo?maxConcurrentConsumers=5", JmsEndpoint.class);
+        JmsEndpoint endpoint = resolveMandatoryEndpoint("jms:queue:Foo.JmsEndpointConfigurationTest?maxConcurrentConsumers=5",
+                JmsEndpoint.class);
         assertEquals(5, endpoint.getMaxConcurrentConsumers());
     }
 
     @Test
     public void testMaxConcurrentConsumersForSimpleConsumer() {
         JmsEndpoint endpoint
-                = resolveMandatoryEndpoint("jms:queue:Foo?maxConcurrentConsumers=5&consumerType=Simple", JmsEndpoint.class);
+                = resolveMandatoryEndpoint(
+                        "jms:queue:Foo.JmsEndpointConfigurationTest?maxConcurrentConsumers=5&consumerType=Simple",
+                        JmsEndpoint.class);
         assertEquals(5, endpoint.getMaxConcurrentConsumers());
     }
 
     @Test
     public void testInvalidMaxConcurrentConsumers() throws Exception {
         JmsEndpoint endpoint
-                = resolveMandatoryEndpoint("jms:queue:Foo?concurrentConsumers=5&maxConcurrentConsumers=2", JmsEndpoint.class);
+                = resolveMandatoryEndpoint(
+                        "jms:queue:Foo.JmsEndpointConfigurationTest?concurrentConsumers=5&maxConcurrentConsumers=2",
+                        JmsEndpoint.class);
         try {
             endpoint.createConsumer(failProcessor);
             fail("Should have thrown exception");
@@ -231,7 +245,8 @@ public class JmsEndpointConfigurationTest extends CamelTestSupport {
     @Test
     public void testInvalidMaxConcurrentConsumersForSimpleConsumer() throws Exception {
         JmsEndpoint endpoint = resolveMandatoryEndpoint(
-                "jms:queue:Foo?concurrentConsumers=5&maxConcurrentConsumers=2&consumerType=Simple", JmsEndpoint.class);
+                "jms:queue:Foo.JmsEndpointConfigurationTest?concurrentConsumers=5&maxConcurrentConsumers=2&consumerType=Simple",
+                JmsEndpoint.class);
 
         try {
             endpoint.createConsumer(failProcessor);
@@ -243,14 +258,15 @@ public class JmsEndpointConfigurationTest extends CamelTestSupport {
 
     @Test
     public void testSessionTransacted() throws Exception {
-        JmsEndpoint endpoint = resolveMandatoryEndpoint("jms:queue:Foo?transacted=true&lazyCreateTransactionManager=false",
+        JmsEndpoint endpoint = resolveMandatoryEndpoint(
+                "jms:queue:Foo.JmsEndpointConfigurationTest?transacted=true&lazyCreateTransactionManager=false",
                 JmsEndpoint.class);
         AbstractMessageListenerContainer container = endpoint.createConsumer(dummyProcessor).getListenerContainer();
         assertTrue(container.isSessionTransacted(), "The JMS sessions will not be transactional!");
         assertFalse(endpoint.isLazyCreateTransactionManager(), "The transactionManager gets lazily generated!");
         assertNull(endpoint.getTransactionManager(), "The endpoint has an injected TransactionManager!");
 
-        endpoint = resolveMandatoryEndpoint("jms:queue:Foo?transacted=true", JmsEndpoint.class);
+        endpoint = resolveMandatoryEndpoint("jms:queue:Foo.JmsEndpointConfigurationTest?transacted=true", JmsEndpoint.class);
         container = endpoint.createConsumer(dummyProcessor).getListenerContainer();
         assertTrue(container.isSessionTransacted(), "The JMS sessions will not be transactional!");
         assertTrue(endpoint.isLazyCreateTransactionManager(), "The transactionManager doesn't get lazily generated!");
@@ -259,48 +275,55 @@ public class JmsEndpointConfigurationTest extends CamelTestSupport {
 
     @Test
     public void testConcurrentConsumers() {
-        JmsEndpoint endpoint = resolveMandatoryEndpoint("jms:queue:Foo?concurrentConsumers=4", JmsEndpoint.class);
+        JmsEndpoint endpoint = resolveMandatoryEndpoint("jms:queue:Foo.JmsEndpointConfigurationTest?concurrentConsumers=4",
+                JmsEndpoint.class);
         assertEquals(4, endpoint.getConcurrentConsumers());
     }
 
     @Test
     public void testConcurrentConsumersForSimpleConsumer() {
         JmsEndpoint endpoint
-                = resolveMandatoryEndpoint("jms:queue:Foo?concurrentConsumers=4&consumerType=Simple", JmsEndpoint.class);
+                = resolveMandatoryEndpoint(
+                        "jms:queue:Foo.JmsEndpointConfigurationTest?concurrentConsumers=4&consumerType=Simple",
+                        JmsEndpoint.class);
         assertEquals(4, endpoint.getConcurrentConsumers());
     }
 
     @Test
     public void testPubSubNoLocalForSimpleConsumer() {
         JmsEndpoint endpoint
-                = resolveMandatoryEndpoint("jms:queue:Foo?pubSubNoLocal=true&consumerType=Simple", JmsEndpoint.class);
+                = resolveMandatoryEndpoint("jms:queue:Foo.JmsEndpointConfigurationTest?pubSubNoLocal=true&consumerType=Simple",
+                        JmsEndpoint.class);
         assertTrue(endpoint.isPubSubNoLocal(), "PubSubNoLocal should be true");
     }
 
     @Test
     public void testIdleTaskExecutionLimit() {
-        JmsEndpoint endpoint = resolveMandatoryEndpoint("jms:queue:Foo?idleTaskExecutionLimit=50", JmsEndpoint.class);
+        JmsEndpoint endpoint = resolveMandatoryEndpoint("jms:queue:Foo.JmsEndpointConfigurationTest?idleTaskExecutionLimit=50",
+                JmsEndpoint.class);
         assertEquals(50, endpoint.getIdleTaskExecutionLimit());
         assertTrue(endpoint.isAutoStartup());
     }
 
     @Test
     public void testIdleConsumerLimit() {
-        JmsEndpoint endpoint = resolveMandatoryEndpoint("jms:queue:Foo?idleConsumerLimit=51", JmsEndpoint.class);
+        JmsEndpoint endpoint = resolveMandatoryEndpoint("jms:queue:Foo.JmsEndpointConfigurationTest?idleConsumerLimit=51",
+                JmsEndpoint.class);
         assertEquals(51, endpoint.getIdleConsumerLimit());
         assertTrue(endpoint.isAutoStartup());
-        assertEquals("Foo", endpoint.getEndpointConfiguredDestinationName());
+        assertEquals("Foo.JmsEndpointConfigurationTest", endpoint.getEndpointConfiguredDestinationName());
     }
 
     @Test
     public void testLazyCreateTransactionManager() {
-        JmsEndpoint endpoint = resolveMandatoryEndpoint("jms:queue:Foo?lazyCreateTransactionManager=true", JmsEndpoint.class);
+        JmsEndpoint endpoint = resolveMandatoryEndpoint(
+                "jms:queue:Foo.JmsEndpointConfigurationTest?lazyCreateTransactionManager=true", JmsEndpoint.class);
         assertTrue(endpoint.getConfiguration().isLazyCreateTransactionManager());
     }
 
     @Test
     public void testDefaultEndpointOptions() {
-        JmsEndpoint endpoint = resolveMandatoryEndpoint("jms:queue:Foo", JmsEndpoint.class);
+        JmsEndpoint endpoint = resolveMandatoryEndpoint("jms:queue:Foo.JmsEndpointConfigurationTest.New", JmsEndpoint.class);
 
         assertNotNull(endpoint.getBinding());
         assertNotNull(endpoint.getCamelContext());
@@ -308,7 +331,7 @@ public class JmsEndpointConfigurationTest extends CamelTestSupport {
         assertNull(endpoint.getMessageListenerContainerFactory());
         assertEquals(5000, endpoint.getRecoveryInterval());
         assertEquals(1000, endpoint.getReceiveTimeout());
-        assertEquals("JmsConsumer[Foo]", endpoint.getThreadName());
+        assertEquals("JmsConsumer[Foo.JmsEndpointConfigurationTest.New]", endpoint.getThreadName());
         assertEquals(-1, endpoint.getTimeToLive());
         assertEquals(-1, endpoint.getTransactionTimeout());
         assertEquals(1, endpoint.getAcknowledgementMode());
@@ -320,11 +343,11 @@ public class JmsEndpointConfigurationTest extends CamelTestSupport {
         assertNotNull(endpoint.getConnectionFactory());
         assertEquals(1, endpoint.getConcurrentConsumers());
         assertNull(endpoint.getDeliveryMode());
-        assertEquals("Foo", endpoint.getDestinationName());
+        assertEquals("Foo.JmsEndpointConfigurationTest.New", endpoint.getDestinationName());
         assertNull(endpoint.getDestinationResolver());
         assertNull(endpoint.getDurableSubscriptionName());
-        assertEquals("jms://queue:Foo", endpoint.getEndpointKey());
-        assertEquals("jms://queue:Foo", endpoint.getEndpointUri());
+        assertEquals("jms://queue:Foo.JmsEndpointConfigurationTest.New", endpoint.getEndpointKey());
+        assertEquals("jms://queue:Foo.JmsEndpointConfigurationTest.New", endpoint.getEndpointUri());
         assertNull(endpoint.getExceptionListener());
         assertNull(endpoint.getErrorHandler());
         assertEquals(LoggingLevel.WARN, endpoint.getErrorHandlerLoggingLevel());
@@ -356,7 +379,7 @@ public class JmsEndpointConfigurationTest extends CamelTestSupport {
         assertNull(endpoint.getTemplateConnectionFactory());
         assertNotNull(endpoint.getConfiguration().getOrCreateTemplateConnectionFactory());
         assertNull(endpoint.getTransactionManager());
-        assertEquals("Foo", endpoint.getEndpointConfiguredDestinationName());
+        assertEquals("Foo.JmsEndpointConfigurationTest.New", endpoint.getEndpointConfiguredDestinationName());
 
         assertFalse(endpoint.isAcceptMessagesWhileStopping());
         assertFalse(endpoint.isAllowReplyManagerQuickStop());
@@ -397,7 +420,8 @@ public class JmsEndpointConfigurationTest extends CamelTestSupport {
 
     @Test
     public void testSettingEndpointOptions() {
-        JmsEndpoint endpoint = resolveMandatoryEndpoint("jms:queue:Foo", JmsEndpoint.class);
+        JmsEndpoint endpoint
+                = resolveMandatoryEndpoint("jms:queue:Foo.JmsEndpointConfigurationTest.NonCached", JmsEndpoint.class);
 
         endpoint.setAcceptMessagesWhileStopping(true);
         assertTrue(endpoint.isAcceptMessagesWhileStopping());
@@ -542,7 +566,7 @@ public class JmsEndpointConfigurationTest extends CamelTestSupport {
         assertEquals("ABC", configuration.getClientId(), "getClientId()");
         assertTrue(configuration.isDeliveryPersistent(), "isDeliveryPersistent()");
 
-        JmsConsumer consumer = endpoint.createConsumer(exchange -> LOG.info("Received: " + exchange));
+        JmsConsumer consumer = endpoint.createConsumer(exchange -> LOG.info("Received: {}", exchange));
         AbstractMessageListenerContainer listenerContainer = consumer.getListenerContainer();
         assertEquals("James", listenerContainer.getDurableSubscriptionName(), "getDurableSubscriptionName()");
         assertEquals("ABC", listenerContainer.getClientId(), "getClientId()");
@@ -553,7 +577,8 @@ public class JmsEndpointConfigurationTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("jms", JmsComponent.jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsErrorHandlerLogStackTraceTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsErrorHandlerLogStackTraceTest.java
index 80b6cd08a42..33e0eab6aa8 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsErrorHandlerLogStackTraceTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsErrorHandlerLogStackTraceTest.java
@@ -22,16 +22,16 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.LoggingLevel;
 import org.apache.camel.builder.NotifyBuilder;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  *
  */
-public class JmsErrorHandlerLogStackTraceTest extends CamelTestSupport {
+public class JmsErrorHandlerLogStackTraceTest extends AbstractJMSTest {
 
     @Test
     public void testErrorHandlerLogStackTrace() {
@@ -64,7 +64,8 @@ public class JmsErrorHandlerLogStackTraceTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         JmsComponent jms = JmsComponent.jmsComponentAutoAcknowledge(connectionFactory);
         jms.getConfiguration().setErrorHandlerLogStackTrace(false);
         jms.getConfiguration().setErrorHandlerLoggingLevel(LoggingLevel.ERROR);
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsFilterTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsFilterTest.java
index 3dc3059b7ae..edea1ed0358 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsFilterTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsFilterTest.java
@@ -24,14 +24,15 @@ import org.apache.camel.Produce;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
+
 /**
  * Tests filtering using Camel Test
  */
 // START SNIPPET: example
-public class JmsFilterTest extends CamelTestSupport {
+public class JmsFilterTest extends AbstractJMSTest {
 
     @EndpointInject("mock:result")
     protected MockEndpoint resultEndpoint;
@@ -63,7 +64,7 @@ public class JmsFilterTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory = createConnectionFactory(service);
         camelContext.addComponent("jms", JmsComponent.jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsFormatDateHeadersToIso8601Test.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsFormatDateHeadersToIso8601Test.java
index dd3efd69d60..5cf33c72b40 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsFormatDateHeadersToIso8601Test.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsFormatDateHeadersToIso8601Test.java
@@ -23,14 +23,14 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotEquals;
 
-public class JmsFormatDateHeadersToIso8601Test extends CamelTestSupport {
+public class JmsFormatDateHeadersToIso8601Test extends AbstractJMSTest {
 
     private static final Date DATE = Date.from(Instant.ofEpochMilli(1519672338000L));
 
@@ -49,7 +49,8 @@ public class JmsFormatDateHeadersToIso8601Test extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         JmsComponent jms = jmsComponentAutoAcknowledge(connectionFactory);
         jms.getConfiguration().setFormatDateHeadersToIso8601(true);
         camelContext.addComponent("activemq", jms);
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsHeaderFilteringTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsHeaderFilteringTest.java
index d715713a351..72bc8e91b22 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsHeaderFilteringTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsHeaderFilteringTest.java
@@ -27,21 +27,21 @@ import org.apache.camel.ExchangePattern;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-public class JmsHeaderFilteringTest extends CamelTestSupport {
+public class JmsHeaderFilteringTest extends AbstractJMSTest {
 
     private static final String IN_FILTER_PATTERN = "(org_apache_camel)[_|a-z|A-Z|0-9]*(test)[_|a-z|A-Z|0-9]*";
 
     private final String componentName = "jms";
-    private final String testQueueEndpointA = componentName + ":queue:test.a";
-    private final String testQueueEndpointB = componentName + ":queue:test.b";
+    private final String testQueueEndpointA = componentName + ":queue:JmsHeaderFilteringTest.test..a";
+    private final String testQueueEndpointB = componentName + ":queue:JmsHeaderFilteringTest.test.b";
     private final String assertionReceiver = "mock:errors";
     private final CountDownLatch latch = new CountDownLatch(2);
 
@@ -67,7 +67,8 @@ public class JmsHeaderFilteringTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         JmsComponent component = camelContext.getComponent(componentName, JmsComponent.class);
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyDisableTimeToLiveTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyDisableTimeToLiveTest.java
index afbc8d1caff..6f12b8231c7 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyDisableTimeToLiveTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyDisableTimeToLiveTest.java
@@ -22,15 +22,16 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.ConsumerTemplate;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsInOnlyDisableTimeToLiveTest extends CamelTestSupport {
+public class JmsInOnlyDisableTimeToLiveTest extends AbstractJMSTest {
 
-    private final String urlTimeout = "activemq:queue.in?timeToLive=2000";
-    private final String urlTimeToLiveDisabled = "activemq:queue.in?timeToLive=2000&disableTimeToLive=true";
+    private final String urlTimeout = "activemq:JmsInOnlyDisableTimeToLiveTest.in?timeToLive=2000";
+    private final String urlTimeToLiveDisabled
+            = "activemq:JmsInOnlyDisableTimeToLiveTest.in?timeToLive=2000&disableTimeToLive=true";
 
     @Test
     public void testInOnlyExpired() throws Exception {
@@ -87,7 +88,8 @@ public class JmsInOnlyDisableTimeToLiveTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
@@ -104,7 +106,7 @@ public class JmsInOnlyDisableTimeToLiveTest extends CamelTestSupport {
                         .to(urlTimeToLiveDisabled)
                         .to("mock:result");
 
-                from("activemq:queue.out")
+                from("activemq:JmsInOnlyDisableTimeToLiveTest.out")
                         .to("mock:end");
             }
         };
@@ -127,7 +129,7 @@ public class JmsInOnlyDisableTimeToLiveTest extends CamelTestSupport {
             // loop to empty queue
             while (true) {
                 // receive the message from the queue, wait at most 2 sec
-                String msg = consumer.receiveBody("activemq:queue.in", 2000, String.class);
+                String msg = consumer.receiveBody("activemq:JmsInOnlyDisableTimeToLiveTest.in", 2000, String.class);
                 if (msg == null) {
                     // no more messages in queue
                     break;
@@ -137,7 +139,7 @@ public class JmsInOnlyDisableTimeToLiveTest extends CamelTestSupport {
                 msg = "Hello " + msg;
 
                 // send it to the next queue
-                producer.sendBodyAndHeader("activemq:queue.out", msg, "number", count++);
+                producer.sendBodyAndHeader("activemq:JmsInOnlyDisableTimeToLiveTest.out", msg, "number", count++);
             }
         }
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyIncludeSentJMSMessageIDTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyIncludeSentJMSMessageIDTest.java
index ad052802ee7..477f9c38cee 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyIncludeSentJMSMessageIDTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyIncludeSentJMSMessageIDTest.java
@@ -22,17 +22,17 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 /**
  *
  */
-public class JmsInOnlyIncludeSentJMSMessageIDTest extends CamelTestSupport {
+public class JmsInOnlyIncludeSentJMSMessageIDTest extends AbstractJMSTest {
 
     @Test
     public void testJmsInOnlyIncludeSentJMSMessageID() throws Exception {
@@ -56,7 +56,8 @@ public class JmsInOnlyIncludeSentJMSMessageIDTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyInvalidDestinationTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyInvalidDestinationTest.java
index 74d88de7438..7e71f1d211c 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyInvalidDestinationTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyInvalidDestinationTest.java
@@ -24,17 +24,17 @@ import javax.jms.Session;
 import org.apache.camel.BindToRegistry;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 import org.springframework.jms.support.destination.DestinationResolutionException;
 import org.springframework.jms.support.destination.DestinationResolver;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
 /**
  *
  */
-public class JmsInOnlyInvalidDestinationTest extends CamelTestSupport {
+public class JmsInOnlyInvalidDestinationTest extends AbstractJMSTest {
 
     @BindToRegistry("myResolver")
     private final MyDestinationResolver resolver = new MyDestinationResolver();
@@ -51,7 +51,8 @@ public class JmsInOnlyInvalidDestinationTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyPooledExchangeTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyPooledExchangeTest.java
index 60f87e05a70..a518b5eaac5 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyPooledExchangeTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyPooledExchangeTest.java
@@ -27,16 +27,18 @@ import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.impl.engine.PooledExchangeFactory;
 import org.apache.camel.impl.engine.PooledProcessorExchangeFactory;
 import org.apache.camel.spi.PooledObjectFactory;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.awaitility.Awaitility;
 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.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsInOnlyPooledExchangeTest extends CamelTestSupport {
+@TestInstance(TestInstance.Lifecycle.PER_METHOD)
+public class JmsInOnlyPooledExchangeTest extends AbstractJMSTest {
 
-    private static final String JMS_QUEUE_NAME = "activemq:queue:foo";
+    private static final String JMS_QUEUE_NAME = "activemq:queue:JmsInOnlyPooledExchangeTest";
     private static final String MOCK_RESULT = "mock:result";
 
     @Test
@@ -89,7 +91,8 @@ public class JmsInOnlyPooledExchangeTest extends CamelTestSupport {
         ecc.getExchangeFactory().setStatisticsEnabled(true);
         ecc.getProcessorExchangeFactory().setStatisticsEnabled(true);
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         ecc.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return ecc;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyWithReplyToAsHeaderTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyWithReplyToAsHeaderTest.java
index b70b2aba8e5..122f1b89b0d 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyWithReplyToAsHeaderTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyWithReplyToAsHeaderTest.java
@@ -20,12 +20,12 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsInOnlyWithReplyToAsHeaderTest extends CamelTestSupport {
+public class JmsInOnlyWithReplyToAsHeaderTest extends AbstractJMSTest {
 
     @Test
     public void testSendInOnlyWithReplyTo() throws Exception {
@@ -33,7 +33,7 @@ public class JmsInOnlyWithReplyToAsHeaderTest extends CamelTestSupport {
         getMockEndpoint("mock:bar").expectedBodiesReceived("Bye World");
         getMockEndpoint("mock:done").expectedBodiesReceived("World");
 
-        template.sendBodyAndHeader("direct:start", "World", "JMSReplyTo", "queue:bar");
+        template.sendBodyAndHeader("direct:start", "World", "JMSReplyTo", "queue:barJmsInOnlyWithReplyToAsHeaderTest");
 
         assertMockEndpointsSatisfied();
     }
@@ -41,7 +41,8 @@ public class JmsInOnlyWithReplyToAsHeaderTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
@@ -53,16 +54,16 @@ public class JmsInOnlyWithReplyToAsHeaderTest extends CamelTestSupport {
             public void configure() {
                 from("direct:start")
                         // must enable preserveMessageQos to force Camel to use the JMSReplyTo header
-                        .to("activemq:queue:foo?preserveMessageQos=true")
+                        .to("activemq:queue:fooJmsInOnlyWithReplyToAsHeaderTest?preserveMessageQos=true")
                         .to("mock:done");
 
-                from("activemq:queue:foo")
+                from("activemq:queue:fooJmsInOnlyWithReplyToAsHeaderTest")
                         .to("log:foo?showAll=true", "mock:foo")
                         .transform(body().prepend("Bye "));
 
-                // we should disable reply to to avoid sending the message back to our self
+                // we should disable reply to avoid sending the message back to our self
                 // after we have consumed it
-                from("activemq:queue:bar?disableReplyTo=true")
+                from("activemq:queue:barJmsInOnlyWithReplyToAsHeaderTest?disableReplyTo=true")
                         .to("log:bar?showAll=true", "mock:bar");
             }
         };
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyWithReplyToDisabledButJMSReplyToHeaderPreservedTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyWithReplyToDisabledButJMSReplyToHeaderPreservedTest.java
index bb09fda7f49..06b7fd21ae3 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyWithReplyToDisabledButJMSReplyToHeaderPreservedTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyWithReplyToDisabledButJMSReplyToHeaderPreservedTest.java
@@ -20,12 +20,12 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsInOnlyWithReplyToDisabledButJMSReplyToHeaderPreservedTest extends CamelTestSupport {
+public class JmsInOnlyWithReplyToDisabledButJMSReplyToHeaderPreservedTest extends AbstractJMSTest {
 
     @Test
     public void testJMSReplyToHeaderPreserved() throws Exception {
@@ -41,7 +41,8 @@ public class JmsInOnlyWithReplyToDisabledButJMSReplyToHeaderPreservedTest extend
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
@@ -53,11 +54,11 @@ public class JmsInOnlyWithReplyToDisabledButJMSReplyToHeaderPreservedTest extend
             public void configure() {
                 from("direct:start")
                         // must use preserveMessageQos to include JMSReplyTo
-                        .to("activemq:queue:foo?replyTo=queue:bar&preserveMessageQos=true")
+                        .to("activemq:queue:JmsInOnlyWithReplyToDisabledButJMSReplyToHeaderPreservedTest?replyTo=queue:bar&preserveMessageQos=true")
                         .to("mock:done");
 
                 // and disable reply to as we do not want to send back a reply message in this route
-                from("activemq:queue:foo?disableReplyTo=true")
+                from("activemq:queue:JmsInOnlyWithReplyToDisabledButJMSReplyToHeaderPreservedTest?disableReplyTo=true")
                         .to("log:foo?showAll=true", "mock:foo");
             }
         };
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyWithReplyToDisabledTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyWithReplyToDisabledTest.java
index 155bcf5dc3b..108ff86038e 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyWithReplyToDisabledTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyWithReplyToDisabledTest.java
@@ -20,12 +20,12 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsInOnlyWithReplyToDisabledTest extends CamelTestSupport {
+public class JmsInOnlyWithReplyToDisabledTest extends AbstractJMSTest {
 
     @Test
     public void testSendInOnlyWithReplyTo() throws Exception {
@@ -41,7 +41,8 @@ public class JmsInOnlyWithReplyToDisabledTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
@@ -52,14 +53,14 @@ public class JmsInOnlyWithReplyToDisabledTest extends CamelTestSupport {
             @Override
             public void configure() {
                 from("direct:start")
-                        .to("activemq:queue:foo?replyTo=queue:bar&disableReplyTo=true")
+                        .to("activemq:queue:JmsInOnlyWithReplyToDisabledTestRequest?replyTo=queue:JmsInOnlyWithReplyToDisabledTestReply&disableReplyTo=true")
                         .to("mock:done");
 
-                from("activemq:queue:foo")
+                from("activemq:queue:JmsInOnlyWithReplyToDisabledTestRequest")
                         .to("mock:foo")
                         .transform(body().prepend("Bye "));
 
-                from("activemq:queue:bar")
+                from("activemq:queue:JmsInOnlyWithReplyToDisabledTestReply")
                         .to("mock:bar");
             }
         };
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyWithReplyToHeaderTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyWithReplyToHeaderTest.java
index ded1c3c0919..2be7ce9ebb6 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyWithReplyToHeaderTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyWithReplyToHeaderTest.java
@@ -21,36 +21,37 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsInOnlyWithReplyToHeaderTest extends CamelTestSupport {
+public class JmsInOnlyWithReplyToHeaderTest extends AbstractJMSTest {
 
     @Test
     public void testJmsInOnlyWithReplyToHeader() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedBodiesReceived("Hello World");
-        mock.expectedHeaderReceived("JMSReplyTo", "queue://bar");
+        mock.expectedHeaderReceived("JMSReplyTo", "queue://JmsInOnlyWithReplyToHeaderTest.Reply");
 
-        template.send("activemq:queue:foo?preserveMessageQos=true", exchange -> {
+        template.send("activemq:queue:JmsInOnlyWithReplyToHeaderTest.Request?preserveMessageQos=true", exchange -> {
             exchange.getIn().setBody("World");
-            exchange.getIn().setHeader("JMSReplyTo", "bar");
+            exchange.getIn().setHeader("JMSReplyTo", "JmsInOnlyWithReplyToHeaderTest.Reply");
         });
 
         assertMockEndpointsSatisfied();
 
-        // reply is in bar queue so lets consume it
-        String reply = consumer.receiveBody("activemq:queue:bar", 5000, String.class);
+        // reply is in JmsInOnlyWithReplyToHeaderTest.Reply queue so lets consume it
+        String reply = consumer.receiveBody("activemq:queue:JmsInOnlyWithReplyToHeaderTest.Reply", 5000, String.class);
         assertEquals("Hello World", reply);
     }
 
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
@@ -60,7 +61,7 @@ public class JmsInOnlyWithReplyToHeaderTest extends CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
-                from("activemq:queue:foo")
+                from("activemq:queue:JmsInOnlyWithReplyToHeaderTest.Request")
                         .transform(body().prepend("Hello "))
                         .to("mock:result");
             }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyWithReplyToHeaderTopicTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyWithReplyToHeaderTopicTest.java
index dcaf1a1486f..6dcebc7d970 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyWithReplyToHeaderTopicTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyWithReplyToHeaderTopicTest.java
@@ -21,24 +21,23 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
 
-public class JmsInOnlyWithReplyToHeaderTopicTest extends CamelTestSupport {
+public class JmsInOnlyWithReplyToHeaderTopicTest extends AbstractJMSTest {
 
     @Test
     public void testJmsInOnlyWithReplyToHeader() throws Exception {
-        getMockEndpoint("mock:bar").expectedMessageCount(1);
+        getMockEndpoint("mock:JmsInOnlyWithReplyToHeaderTopicTest.bar").expectedMessageCount(1);
 
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedBodiesReceived("Hello World");
-        mock.expectedHeaderReceived("JMSReplyTo", "topic://bar");
+        mock.expectedHeaderReceived("JMSReplyTo", "topic://JmsInOnlyWithReplyToHeaderTopicTest.bar");
 
-        template.send("activemq:queue:foo?preserveMessageQos=true", exchange -> {
+        template.send("activemq:queue:JmsInOnlyWithReplyToHeaderTopicTest.foo?preserveMessageQos=true", exchange -> {
             exchange.getIn().setBody("World");
-            exchange.getIn().setHeader("JMSReplyTo", "topic:bar");
+            exchange.getIn().setHeader("JMSReplyTo", "topic:JmsInOnlyWithReplyToHeaderTopicTest.bar");
         });
 
         assertMockEndpointsSatisfied();
@@ -47,7 +46,8 @@ public class JmsInOnlyWithReplyToHeaderTopicTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
@@ -57,16 +57,16 @@ public class JmsInOnlyWithReplyToHeaderTopicTest extends CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
-                from("activemq:queue:foo")
+                from("activemq:queue:JmsInOnlyWithReplyToHeaderTopicTest.foo")
                         .transform(body().prepend("Hello "))
                         .to("log:result")
                         .to("mock:result");
 
                 // we should disable reply to to avoid sending the message back to our self
                 // after we have consumed it
-                from("activemq:topic:bar?disableReplyTo=true")
-                        .to("log:bar")
-                        .to("mock:bar");
+                from("activemq:topic:JmsInOnlyWithReplyToHeaderTopicTest.bar?disableReplyTo=true")
+                        .to("log:JmsInOnlyWithReplyToHeaderTopicTest.bar")
+                        .to("mock:JmsInOnlyWithReplyToHeaderTopicTest.bar");
             }
         };
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyWithReplyToNotPreservedTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyWithReplyToNotPreservedTest.java
index 8dd49a9698e..236c37819a2 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyWithReplyToNotPreservedTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyWithReplyToNotPreservedTest.java
@@ -20,32 +20,32 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
 import static org.junit.jupiter.api.Assertions.assertNull;
 
-public class JmsInOnlyWithReplyToNotPreservedTest extends CamelTestSupport {
+public class JmsInOnlyWithReplyToNotPreservedTest extends AbstractJMSTest {
 
     @Test
     public void testSendInOnlyWithReplyTo() throws Exception {
-        getMockEndpoint("mock:foo").expectedBodiesReceived("World");
+        getMockEndpoint("mock:JmsInOnlyWithReplyToNotPreservedTest.Request").expectedBodiesReceived("World");
         getMockEndpoint("mock:done").expectedBodiesReceived("World");
 
-        template.sendBody("direct:start", "World");
+        template.sendBody("direct:JmsInOnlyWithReplyToNotPreservedTest", "World");
 
         assertMockEndpointsSatisfied();
 
-        // there should be no messages on the bar queue
-        Object msg = consumer.receiveBody("activemq:queue:bar", 1000);
-        assertNull(msg, "Should be no message on bar queue");
+        // there should be no messages on the JmsInOnlyWithReplyToNotPreservedTest.Reply queue
+        Object msg = consumer.receiveBody("activemq:queue:JmsInOnlyWithReplyToNotPreservedTest.Reply", 1000);
+        assertNull(msg, "Should be no message on JmsInOnlyWithReplyToNotPreservedTest.Reply queue");
     }
 
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
@@ -55,12 +55,13 @@ public class JmsInOnlyWithReplyToNotPreservedTest extends CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
-                from("direct:start")
-                        .to("activemq:queue:foo?replyTo=queue:bar")
+                from("direct:JmsInOnlyWithReplyToNotPreservedTest")
+                        .to("activemq:queue:JmsInOnlyWithReplyToNotPreservedTest.Request?replyTo=queue:JmsInOnlyWithReplyToNotPreservedTest.Reply")
                         .to("mock:done");
 
-                from("activemq:queue:foo")
-                        .to("log:foo?showAll=true", "mock:foo")
+                from("activemq:queue:JmsInOnlyWithReplyToNotPreservedTest.Request")
+                        .to("log:JmsInOnlyWithReplyToNotPreservedTest.Request?showAll=true",
+                                "mock:JmsInOnlyWithReplyToNotPreservedTest.Request")
                         .transform(body().prepend("Bye "));
             }
         };
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyWithReplyToTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyWithReplyToTest.java
index c5c5c99b5eb..6becaf758df 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyWithReplyToTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOnlyWithReplyToTest.java
@@ -20,17 +20,16 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
 
-public class JmsInOnlyWithReplyToTest extends CamelTestSupport {
+public class JmsInOnlyWithReplyToTest extends AbstractJMSTest {
 
     @Test
     public void testSendInOnlyWithReplyTo() throws Exception {
-        getMockEndpoint("mock:foo").expectedBodiesReceived("World");
-        getMockEndpoint("mock:bar").expectedBodiesReceived("Bye World");
+        getMockEndpoint("mock:JmsInOnlyWithReplyToTest.foo").expectedBodiesReceived("World");
+        getMockEndpoint("mock:JmsInOnlyWithReplyToTest.bar").expectedBodiesReceived("Bye World");
         getMockEndpoint("mock:done").expectedBodiesReceived("World");
 
         template.sendBody("direct:start", "World");
@@ -41,7 +40,8 @@ public class JmsInOnlyWithReplyToTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
@@ -52,17 +52,17 @@ public class JmsInOnlyWithReplyToTest extends CamelTestSupport {
             @Override
             public void configure() {
                 from("direct:start")
-                        .to("activemq:queue:foo?replyTo=queue:bar&preserveMessageQos=true")
+                        .to("activemq:queue:JmsInOnlyWithReplyToTest.foo?replyTo=queue:JmsInOnlyWithReplyToTest.bar&preserveMessageQos=true")
                         .to("mock:done");
 
-                from("activemq:queue:foo")
-                        .to("log:foo?showAll=true", "mock:foo")
+                from("activemq:queue:JmsInOnlyWithReplyToTest.foo")
+                        .to("log:JmsInOnlyWithReplyToTest.foo?showAll=true", "mock:JmsInOnlyWithReplyToTest.foo")
                         .transform(body().prepend("Bye "));
 
                 // we should disable reply to to avoid sending the message back to our self
                 // after we have consumed it
-                from("activemq:queue:bar?disableReplyTo=true")
-                        .to("log:bar?showAll=true", "mock:bar");
+                from("activemq:queue:JmsInOnlyWithReplyToTest.bar?disableReplyTo=true")
+                        .to("log:JmsInOnlyWithReplyToTest.bar?showAll=true", "mock:JmsInOnlyWithReplyToTest.bar");
             }
         };
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutBeanReturnNullTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutBeanReturnNullTest.java
index 0cde1d450aa..72b6368b3e7 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutBeanReturnNullTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutBeanReturnNullTest.java
@@ -24,7 +24,6 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
@@ -36,7 +35,7 @@ import static org.junit.jupiter.api.Assertions.assertNull;
 /**
  *
  */
-public class JmsInOutBeanReturnNullTest extends CamelTestSupport {
+public class JmsInOutBeanReturnNullTest extends AbstractJMSTest {
 
     @Test
     public void testReturnBean() {
@@ -71,7 +70,8 @@ public class JmsInOutBeanReturnNullTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutDisableTimeToLiveTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutDisableTimeToLiveTest.java
index 08f518175df..e53a73b77ee 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutDisableTimeToLiveTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutDisableTimeToLiveTest.java
@@ -23,16 +23,17 @@ import org.apache.camel.CamelExecutionException;
 import org.apache.camel.ConsumerTemplate;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.fail;
 
-public class JmsInOutDisableTimeToLiveTest extends CamelTestSupport {
+public class JmsInOutDisableTimeToLiveTest extends AbstractJMSTest {
 
-    private final String urlTimeout = "activemq:queue.in?requestTimeout=2000";
-    private final String urlTimeToLiveDisabled = "activemq:queue.in?requestTimeout=2000&disableTimeToLive=true";
+    private final String urlTimeout = "activemq:JmsInOutDisableTimeToLiveTest.in?requestTimeout=2000";
+    private final String urlTimeToLiveDisabled
+            = "activemq:JmsInOutDisableTimeToLiveTest.in?requestTimeout=2000&disableTimeToLive=true";
 
     @Test
     public void testInOutExpired() throws Exception {
@@ -81,7 +82,8 @@ public class JmsInOutDisableTimeToLiveTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
@@ -98,7 +100,7 @@ public class JmsInOutDisableTimeToLiveTest extends CamelTestSupport {
                         .to(urlTimeToLiveDisabled)
                         .to("mock:result");
 
-                from("activemq:queue.out")
+                from("activemq:JmsInOutDisableTimeToLiveTest.out")
                         .to("mock:end");
             }
         };
@@ -121,7 +123,7 @@ public class JmsInOutDisableTimeToLiveTest extends CamelTestSupport {
             // loop to empty queue
             while (true) {
                 // receive the message from the queue, wait at most 2 sec
-                String msg = consumer.receiveBody("activemq:queue.in", 2000, String.class);
+                String msg = consumer.receiveBody("activemq:JmsInOutDisableTimeToLiveTest.in", 2000, String.class);
                 if (msg == null) {
                     // no more messages in queue
                     break;
@@ -131,7 +133,7 @@ public class JmsInOutDisableTimeToLiveTest extends CamelTestSupport {
                 msg = "Hello " + msg;
 
                 // send it to the next queue
-                producer.sendBodyAndHeader("activemq:queue.out", msg, "number", count++);
+                producer.sendBodyAndHeader("activemq:JmsInOutDisableTimeToLiveTest.out", msg, "number", count++);
             }
         }
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutFixedReplyQueueTimeoutTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutFixedReplyQueueTimeoutTest.java
index da7c7c833d1..cd55254e891 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutFixedReplyQueueTimeoutTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutFixedReplyQueueTimeoutTest.java
@@ -25,18 +25,16 @@ import org.apache.camel.CamelExecutionException;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.ExchangeTimedOutException;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 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.assertThrows;
 
-/**
- *
- */
-public class JmsInOutFixedReplyQueueTimeoutTest extends CamelTestSupport {
+@TestInstance(TestInstance.Lifecycle.PER_METHOD)
+public class JmsInOutFixedReplyQueueTimeoutTest extends AbstractJMSTest {
 
     protected String componentName = "activemq";
 
@@ -44,7 +42,7 @@ public class JmsInOutFixedReplyQueueTimeoutTest extends CamelTestSupport {
     public void testOk() throws Exception {
         getMockEndpoint("mock:result").expectedBodiesReceived("Bye Camel");
 
-        String out = template.requestBody("direct:start", "Camel", String.class);
+        String out = template.requestBody("direct:JmsInOutFixedReplyQueueTimeoutTest", "Camel", String.class);
         assertEquals("Bye Camel", out);
 
         assertMockEndpointsSatisfied();
@@ -55,7 +53,7 @@ public class JmsInOutFixedReplyQueueTimeoutTest extends CamelTestSupport {
         getMockEndpoint("mock:result").expectedMessageCount(0);
 
         Exception ex = assertThrows(CamelExecutionException.class,
-                () -> template.requestBody("direct:start", "World", String.class),
+                () -> template.requestBody("direct:JmsInOutFixedReplyQueueTimeoutTest", "World", String.class),
                 "Should have thrown exception");
 
         assertIsInstanceOf(ExchangeTimedOutException.class, ex.getCause());
@@ -66,7 +64,8 @@ public class JmsInOutFixedReplyQueueTimeoutTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
@@ -76,14 +75,15 @@ public class JmsInOutFixedReplyQueueTimeoutTest extends CamelTestSupport {
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                from("direct:start")
-                        .to(ExchangePattern.InOut, "activemq:queue:foo?replyTo=queue:bar&requestTimeout=2000")
+                from("direct:JmsInOutFixedReplyQueueTimeoutTest")
+                        .to(ExchangePattern.InOut,
+                                "activemq:queue:JmsInOutFixedReplyQueueTimeoutTest?replyTo=queue:JmsInOutFixedReplyQueueTimeoutTestReply&requestTimeout=2000")
                         .to("mock:result");
 
-                from("activemq:queue:foo")
+                from("activemq:queue:JmsInOutFixedReplyQueueTimeoutTest")
                         .choice().when(body().isEqualTo("World"))
-                            .log("Sleeping for 4 sec to force a timeout")
-                            .delay(Duration.ofSeconds(4).toMillis()).endChoice().end()
+                        .log("Sleeping for 4 sec to force a timeout")
+                        .delay(Duration.ofSeconds(4).toMillis()).endChoice().end()
                         .transform(body().prepend("Bye ")).to("log:reply");
             }
         };
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutFixedReplyQueueTimeoutUseMessageIDAsCorrelationIDTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutFixedReplyQueueTimeoutUseMessageIDAsCorrelationIDTest.java
index 1f2bd73ffd2..13f838dddff 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutFixedReplyQueueTimeoutUseMessageIDAsCorrelationIDTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutFixedReplyQueueTimeoutUseMessageIDAsCorrelationIDTest.java
@@ -30,15 +30,15 @@ public class JmsInOutFixedReplyQueueTimeoutUseMessageIDAsCorrelationIDTest exten
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                from("direct:start")
+                from("direct:JmsInOutFixedReplyQueueTimeoutTest")
                         .to(ExchangePattern.InOut,
-                                "activemq:queue:foo?replyTo=queue:bar&useMessageIDAsCorrelationID=true&requestTimeout=2000")
+                                "activemq:queue:JmsInOutFixedReplyQueueTimeoutUseMessageIDAsCorrelationIDTest?replyTo=queue:JmsInOutFixedReplyQueueTimeoutUseMessageIDAsCorrelationIDTestReply&useMessageIDAsCorrelationID=true&requestTimeout=2000")
                         .to("mock:result");
 
-                from("activemq:queue:foo")
+                from("activemq:queue:JmsInOutFixedReplyQueueTimeoutUseMessageIDAsCorrelationIDTest")
                         .choice().when(body().isEqualTo("World"))
-                            .log("Sleeping for 4 sec to force a timeout")
-                            .delay(Duration.ofSeconds(4).toMillis()).endChoice().end()
+                        .log("Sleeping for 4 sec to force a timeout")
+                        .delay(Duration.ofSeconds(4).toMillis()).endChoice().end()
                         .transform(body().prepend("Bye ")).to("log:reply");
             }
         };
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutIndividualRequestTimeoutTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutIndividualRequestTimeoutTest.java
index 8df36925403..59ebd0a01fe 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutIndividualRequestTimeoutTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutIndividualRequestTimeoutTest.java
@@ -25,18 +25,17 @@ import org.apache.camel.CamelExecutionException;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.ExchangeTimedOutException;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 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.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.apache.camel.test.junit5.TestSupport.assertIsInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 
-/**
- *
- */
-public class JmsInOutIndividualRequestTimeoutTest extends CamelTestSupport {
+@TestInstance(TestInstance.Lifecycle.PER_METHOD)
+public class JmsInOutIndividualRequestTimeoutTest extends AbstractJMSTest {
 
     protected String componentName = "activemq";
 
@@ -44,7 +43,7 @@ public class JmsInOutIndividualRequestTimeoutTest extends CamelTestSupport {
     public void testOk() throws Exception {
         getMockEndpoint("mock:result").expectedBodiesReceived("Bye Camel");
 
-        String out = template.requestBody("direct:start", "Camel", String.class);
+        String out = template.requestBody("direct:JmsInOutIndividualRequestTimeoutTest", "Camel", String.class);
         assertEquals("Bye Camel", out);
 
         assertMockEndpointsSatisfied();
@@ -55,7 +54,8 @@ public class JmsInOutIndividualRequestTimeoutTest extends CamelTestSupport {
         getMockEndpoint("mock:result").expectedMessageCount(0);
 
         Exception ex = assertThrows(CamelExecutionException.class,
-                () -> template.requestBodyAndHeader("direct:start", "World", JmsConstants.JMS_REQUEST_TIMEOUT, 1500L,
+                () -> template.requestBodyAndHeader("direct:JmsInOutIndividualRequestTimeoutTest", "World",
+                        JmsConstants.JMS_REQUEST_TIMEOUT, 1500L,
                         String.class),
                 "Should have thrown exception");
 
@@ -70,7 +70,8 @@ public class JmsInOutIndividualRequestTimeoutTest extends CamelTestSupport {
         getMockEndpoint("mock:result").expectedMessageCount(1);
 
         String out
-                = template.requestBodyAndHeader("direct:start", "World", JmsConstants.JMS_REQUEST_TIMEOUT, 8000L, String.class);
+                = template.requestBodyAndHeader("direct:JmsInOutIndividualRequestTimeoutTest", "World",
+                        JmsConstants.JMS_REQUEST_TIMEOUT, 8000L, String.class);
         assertEquals("Bye World", out);
 
         assertMockEndpointsSatisfied();
@@ -80,7 +81,8 @@ public class JmsInOutIndividualRequestTimeoutTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
@@ -90,14 +92,15 @@ public class JmsInOutIndividualRequestTimeoutTest extends CamelTestSupport {
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                from("direct:start")
-                        .to(ExchangePattern.InOut, "activemq:queue:foo?replyTo=queue:bar&requestTimeout=2000")
+                from("direct:JmsInOutIndividualRequestTimeoutTest")
+                        .to(ExchangePattern.InOut,
+                                "activemq:queue:JmsInOutIndividualRequestTimeoutTestRequest?replyTo=queue:JmsInOutIndividualRequestTimeoutTestReply&requestTimeout=2000")
                         .to("mock:result");
 
-                from("activemq:queue:foo")
+                from("activemq:queue:JmsInOutIndividualRequestTimeoutTestRequest")
                         .choice().when(body().isEqualTo("World"))
-                            .log("Sleeping for 4 sec to force a timeout")
-                            .delay(Duration.ofSeconds(4).toMillis()).endChoice().end()
+                        .log("Sleeping for 4 sec to force a timeout")
+                        .delay(Duration.ofSeconds(4).toMillis()).endChoice().end()
                         .transform(body().prepend("Bye ")).to("log:reply");
             }
         };
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutNonPersistentTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutNonPersistentTest.java
index 88d1255c505..b9f55322d1d 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutNonPersistentTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutNonPersistentTest.java
@@ -21,18 +21,19 @@ import javax.jms.DeliveryMode;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsInOutNonPersistentTest extends CamelTestSupport {
+public class JmsInOutNonPersistentTest extends AbstractJMSTest {
 
     @Test
     public void testInOutNonPersistent() throws Exception {
-        getMockEndpoint("mock:foo").expectedBodiesReceived("World");
-        getMockEndpoint("mock:foo").expectedHeaderReceived("JMSDeliveryMode", DeliveryMode.NON_PERSISTENT);
+        getMockEndpoint("mock:JmsInOutNonPersistentTest.foo").expectedBodiesReceived("World");
+        getMockEndpoint("mock:JmsInOutNonPersistentTest.foo").expectedHeaderReceived("JMSDeliveryMode",
+                DeliveryMode.NON_PERSISTENT);
         getMockEndpoint("mock:done").expectedBodiesReceived("Bye World");
         getMockEndpoint("mock:done").expectedHeaderReceived("JMSDeliveryMode", DeliveryMode.NON_PERSISTENT);
 
@@ -45,7 +46,8 @@ public class JmsInOutNonPersistentTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
@@ -56,11 +58,11 @@ public class JmsInOutNonPersistentTest extends CamelTestSupport {
             @Override
             public void configure() {
                 from("direct:start")
-                        .to("activemq:queue:foo?replyTo=queue:bar&deliveryPersistent=false")
+                        .to("activemq:queue:JmsInOutNonPersistentTest.foo?replyTo=queue:JmsInOutNonPersistentTest.bar&deliveryPersistent=false")
                         .to("log:done?showAll=true", "mock:done");
 
-                from("activemq:queue:foo?replyToDeliveryPersistent=false&preserveMessageQos=true")
-                        .to("log:foo?showAll=true", "mock:foo")
+                from("activemq:queue:JmsInOutNonPersistentTest.foo?replyToDeliveryPersistent=false&preserveMessageQos=true")
+                        .to("log:JmsInOutNonPersistentTest.foo?showAll=true", "mock:JmsInOutNonPersistentTest.foo")
                         .transform(body().prepend("Bye "));
             }
         };
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutSynchronousFalseTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutSynchronousFalseTest.java
index a1abf4186e9..6e65d75ce87 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutSynchronousFalseTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutSynchronousFalseTest.java
@@ -20,14 +20,14 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 
-public class JmsInOutSynchronousFalseTest extends CamelTestSupport {
+public class JmsInOutSynchronousFalseTest extends AbstractJMSTest {
 
     private static String beforeThreadName;
     private static String afterThreadName;
@@ -44,7 +44,8 @@ public class JmsInOutSynchronousFalseTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutSynchronousTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutSynchronousTest.java
index 7af56ddfddd..0a43565dee2 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutSynchronousTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutSynchronousTest.java
@@ -20,14 +20,14 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-public class JmsInOutSynchronousTest extends CamelTestSupport {
+public class JmsInOutSynchronousTest extends AbstractJMSTest {
 
     private static String beforeThreadName;
     private static String afterThreadName;
@@ -44,7 +44,8 @@ public class JmsInOutSynchronousTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutTransferExchangeTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutTransferExchangeTest.java
index 88d1ecc1f1f..834cbc75b51 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutTransferExchangeTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutTransferExchangeTest.java
@@ -29,15 +29,15 @@ import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.support.DefaultExchangeHolder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-public class JmsInOutTransferExchangeTest extends CamelTestSupport {
+public class JmsInOutTransferExchangeTest extends AbstractJMSTest {
 
     @EndpointInject("mock:transfer")
     protected MockEndpoint transfer;
@@ -48,7 +48,8 @@ public class JmsInOutTransferExchangeTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutWithNoOutBodyTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutWithNoOutBodyTest.java
index fb3f97aab89..9eba3063edf 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutWithNoOutBodyTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsInOutWithNoOutBodyTest.java
@@ -20,16 +20,16 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  *
  */
-public class JmsInOutWithNoOutBodyTest extends CamelTestSupport {
+public class JmsInOutWithNoOutBodyTest extends AbstractJMSTest {
 
     @Test
     public void testWithNoOutBodySet() {
@@ -40,7 +40,8 @@ public class JmsInOutWithNoOutBodyTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsIncludeAllJMSXPropertiesTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsIncludeAllJMSXPropertiesTest.java
index a94196bd916..d34d6614c01 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsIncludeAllJMSXPropertiesTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsIncludeAllJMSXPropertiesTest.java
@@ -23,12 +23,12 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsIncludeAllJMSXPropertiesTest extends CamelTestSupport {
+public class JmsIncludeAllJMSXPropertiesTest extends AbstractJMSTest {
 
     @Test
     public void testIncludeAll() throws Exception {
@@ -50,7 +50,8 @@ public class JmsIncludeAllJMSXPropertiesTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         JmsComponent jms = jmsComponentAutoAcknowledge(connectionFactory);
         jms.getConfiguration().setIncludeAllJMSXProperties(true);
         camelContext.addComponent("activemq", jms);
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsLoadBalanceFailoverTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsLoadBalanceFailoverTest.java
index 28485c779c2..9ad13342d79 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsLoadBalanceFailoverTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsLoadBalanceFailoverTest.java
@@ -20,16 +20,16 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * Unit test for Camel loadbalancer failover with JMS
  */
-public class JmsLoadBalanceFailoverTest extends CamelTestSupport {
+public class JmsLoadBalanceFailoverTest extends AbstractJMSTest {
 
     @Test
     public void testFailover() throws Exception {
@@ -50,16 +50,16 @@ public class JmsLoadBalanceFailoverTest extends CamelTestSupport {
             public void configure() {
                 from("direct:start")
                         .loadBalance().failover()
-                        .to("jms:queue:foo?transferException=true")
-                        .to("jms:queue:bar?transferException=true")
+                        .to("jms:queue:fooJmsLoadBalanceFailoverTest?transferException=true")
+                        .to("jms:queue:barJmsLoadBalanceFailoverTest?transferException=true")
                         .end()
                         .to("mock:result");
 
-                from("jms:queue:foo?transferException=true")
+                from("jms:queue:fooJmsLoadBalanceFailoverTest?transferException=true")
                         .to("mock:foo")
                         .throwException(new IllegalArgumentException("Damn"));
 
-                from("jms:queue:bar?transferException=true")
+                from("jms:queue:barJmsLoadBalanceFailoverTest?transferException=true")
                         .to("mock:bar")
                         .transform().simple("Bye World");
             }
@@ -70,7 +70,8 @@ public class JmsLoadBalanceFailoverTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("jms", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsLoadBalanceFailoverWithForceSendOriginalJmsMessageTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsLoadBalanceFailoverWithForceSendOriginalJmsMessageTest.java
index 79f7d3d74ec..8dd39c2d3d3 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsLoadBalanceFailoverWithForceSendOriginalJmsMessageTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsLoadBalanceFailoverWithForceSendOriginalJmsMessageTest.java
@@ -22,16 +22,16 @@ import org.apache.activemq.command.ActiveMQTextMessage;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * Unit test for Camel loadbalancer failover with JMS
  */
-public class JmsLoadBalanceFailoverWithForceSendOriginalJmsMessageTest extends CamelTestSupport {
+public class JmsLoadBalanceFailoverWithForceSendOriginalJmsMessageTest extends AbstractJMSTest {
     private final boolean forceSendOriginalMessage = true;
 
     @Test
@@ -120,7 +120,8 @@ public class JmsLoadBalanceFailoverWithForceSendOriginalJmsMessageTest extends C
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         JmsComponent jms = jmsComponentAutoAcknowledge(connectionFactory);
         // we want to transfer the exception
         jms.getConfiguration().setTransferException(true);
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMessageAsOriginalMessageInDefaultUnitOfWorkTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMessageAsOriginalMessageInDefaultUnitOfWorkTest.java
index 15591e5de5d..b807cd00f90 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMessageAsOriginalMessageInDefaultUnitOfWorkTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMessageAsOriginalMessageInDefaultUnitOfWorkTest.java
@@ -22,10 +22,11 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.EndpointInject;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
-public class JmsMessageAsOriginalMessageInDefaultUnitOfWorkTest extends CamelTestSupport {
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
+
+public class JmsMessageAsOriginalMessageInDefaultUnitOfWorkTest extends AbstractJMSTest {
 
     @EndpointInject("mock:result")
     private MockEndpoint mockResult;
@@ -39,7 +40,7 @@ public class JmsMessageAsOriginalMessageInDefaultUnitOfWorkTest extends CamelTes
                         .useOriginalMessage()
                         .to(mockResult);
 
-                from("jms:queue:foo")
+                from("jms:queue:JmsMessageAsOriginalMessageInDefaultUnitOfWorkTest")
                         .throwException(new Exception("forced exception for test"));
             }
         });
@@ -48,7 +49,8 @@ public class JmsMessageAsOriginalMessageInDefaultUnitOfWorkTest extends CamelTes
         mockResult.expectedBodiesReceived("Hello World");
         mockResult.expectedHeaderReceived("header-key", "header-value");
 
-        template.sendBodyAndHeader("jms:queue:foo", "Hello World", "header-key", "header-value");
+        template.sendBodyAndHeader("jms:queue:JmsMessageAsOriginalMessageInDefaultUnitOfWorkTest", "Hello World", "header-key",
+                "header-value");
 
         assertMockEndpointsSatisfied();
     }
@@ -57,7 +59,8 @@ public class JmsMessageAsOriginalMessageInDefaultUnitOfWorkTest extends CamelTes
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("jms", JmsComponent.jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
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 b2e509ce0d2..e7b5bf523b8 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
@@ -20,15 +20,15 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
 /**
  * Unit test setting null body
  */
-public class JmsMessageBodySetNullTest extends CamelTestSupport {
+public class JmsMessageBodySetNullTest extends AbstractJMSTest {
 
     @Test
     public void testSetNullBodyUsingProcessor() throws Exception {
@@ -126,7 +126,8 @@ public class JmsMessageBodySetNullTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("jms", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMessageCreatedStrategyComponentTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMessageCreatedStrategyComponentTest.java
index 85fd01250e6..2510e996f61 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMessageCreatedStrategyComponentTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMessageCreatedStrategyComponentTest.java
@@ -25,12 +25,12 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsMessageCreatedStrategyComponentTest extends CamelTestSupport {
+public class JmsMessageCreatedStrategyComponentTest extends AbstractJMSTest {
 
     protected String componentName = "activemq";
 
@@ -49,7 +49,8 @@ public class JmsMessageCreatedStrategyComponentTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         JmsComponent jms = camelContext.getComponent(componentName, JmsComponent.class);
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMessageCreatedStrategyEndpointTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMessageCreatedStrategyEndpointTest.java
index 96c703a4253..5f3e2fbd0d6 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMessageCreatedStrategyEndpointTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMessageCreatedStrategyEndpointTest.java
@@ -26,12 +26,12 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsMessageCreatedStrategyEndpointTest extends CamelTestSupport {
+public class JmsMessageCreatedStrategyEndpointTest extends AbstractJMSTest {
 
     protected String componentName = "activemq";
 
@@ -55,7 +55,8 @@ public class JmsMessageCreatedStrategyEndpointTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMessageIDNotOverridenAMQTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMessageIDNotOverridenAMQTest.java
index 2e9b5272278..d5c6bef73eb 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMessageIDNotOverridenAMQTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMessageIDNotOverridenAMQTest.java
@@ -25,10 +25,10 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -36,7 +36,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
 /**
  *
  */
-public class JmsMessageIDNotOverridenAMQTest extends CamelTestSupport {
+public class JmsMessageIDNotOverridenAMQTest extends AbstractJMSTest {
 
     @Test
     public void testJmsInOnlyIncludeSentJMSMessageID() throws Exception {
@@ -60,7 +60,8 @@ public class JmsMessageIDNotOverridenAMQTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         JmsComponent jms = camelContext.getComponent("activemq", JmsComponent.class);
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMessageTimestampTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMessageTimestampTest.java
index 098e3d1481d..382ce56901d 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMessageTimestampTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMessageTimestampTest.java
@@ -22,12 +22,12 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsMessageTimestampTest extends CamelTestSupport {
+public class JmsMessageTimestampTest extends AbstractJMSTest {
 
     protected String componentName = "activemq";
 
@@ -46,7 +46,8 @@ public class JmsMessageTimestampTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMessageTypeTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMessageTypeTest.java
index 77b868d7058..158ff43bc4c 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMessageTypeTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMessageTypeTest.java
@@ -28,20 +28,21 @@ import org.apache.camel.TypeConversionException;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.support.TypeConverterSupport;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
 import static org.apache.camel.component.jms.JmsConstants.JMS_MESSAGE_TYPE;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsMessageTypeTest extends CamelTestSupport {
+public class JmsMessageTypeTest extends AbstractJMSTest {
 
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("jms", jmsComponentAutoAcknowledge(connectionFactory));
 
         camelContext.getTypeConverterRegistry().addTypeConverter(byte[].class, MyFooBean.class, new MyFooBean());
@@ -206,14 +207,14 @@ public class JmsMessageTypeTest extends CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
-                from("direct:text").to("jms:queue:foo?jmsMessageType=Text");
-                from("direct:bytes").to("jms:queue:foo?jmsMessageType=Bytes");
-                from("direct:map").to("jms:queue:foo?jmsMessageType=Map");
-                from("direct:object").to("jms:queue:foo?jmsMessageType=Object");
+                from("direct:text").to("jms:queue:fooJmsMessageTypeTest?jmsMessageType=Text");
+                from("direct:bytes").to("jms:queue:fooJmsMessageTypeTest?jmsMessageType=Bytes");
+                from("direct:map").to("jms:queue:fooJmsMessageTypeTest?jmsMessageType=Map");
+                from("direct:object").to("jms:queue:fooJmsMessageTypeTest?jmsMessageType=Object");
 
-                from("direct:foo").to("jms:queue:foo");
+                from("direct:foo").to("jms:queue:fooJmsMessageTypeTest");
 
-                from("jms:queue:foo").to("mock:result");
+                from("jms:queue:fooJmsMessageTypeTest").to("mock:result");
             }
         };
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMultipleConsumersTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMultipleConsumersTest.java
index 938b077ddef..ab4c5bbb4bd 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMultipleConsumersTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMultipleConsumersTest.java
@@ -20,23 +20,25 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 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.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsMultipleConsumersTest extends CamelTestSupport {
+@TestInstance(TestInstance.Lifecycle.PER_METHOD)
+public class JmsMultipleConsumersTest extends AbstractJMSTest {
 
     @Test
     public void testMultipleConsumersTopic() throws Exception {
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() {
-                from("jms:topic:foo").to("mock:foo");
+                from("jms:topic:JmsMultipleConsumersTest").to("mock:foo");
 
-                from("direct:start").to("mock:result");
+                from("direct:JmsMultipleConsumersTest").to("mock:result");
 
-                from("jms:topic:foo").to("mock:bar");
+                from("jms:topic:JmsMultipleConsumersTest").to("mock:bar");
             }
         });
         context.start();
@@ -45,7 +47,7 @@ public class JmsMultipleConsumersTest extends CamelTestSupport {
         getMockEndpoint("mock:bar").expectedMessageCount(1);
         getMockEndpoint("mock:result").expectedMessageCount(0);
 
-        template.sendBody("jms:topic:foo", "Hello World");
+        template.sendBody("jms:topic:JmsMultipleConsumersTest", "Hello World");
 
         assertMockEndpointsSatisfied();
     }
@@ -55,11 +57,11 @@ public class JmsMultipleConsumersTest extends CamelTestSupport {
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() {
-                from("jms:queue:foo").to("mock:result");
+                from("jms:queue:JmsMultipleConsumersTest").to("mock:result");
 
-                from("direct:start").to("mock:result");
+                from("direct:JmsMultipleConsumersTest").to("mock:result");
 
-                from("jms:queue:foo").to("mock:result");
+                from("jms:queue:JmsMultipleConsumersTest").to("mock:result");
             }
         });
 
@@ -67,8 +69,8 @@ public class JmsMultipleConsumersTest extends CamelTestSupport {
 
         getMockEndpoint("mock:result").expectedMessageCount(2);
 
-        template.sendBody("jms:queue:foo", "Hello World");
-        template.sendBody("jms:queue:foo", "Bye World");
+        template.sendBody("jms:queue:JmsMultipleConsumersTest", "Hello World");
+        template.sendBody("jms:queue:JmsMultipleConsumersTest", "Bye World");
 
         assertMockEndpointsSatisfied();
     }
@@ -77,7 +79,8 @@ public class JmsMultipleConsumersTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("jms", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsNoRequestTimeoutTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsNoRequestTimeoutTest.java
index 00b253e267e..8c2963503a6 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsNoRequestTimeoutTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsNoRequestTimeoutTest.java
@@ -20,13 +20,13 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsNoRequestTimeoutTest extends CamelTestSupport {
+public class JmsNoRequestTimeoutTest extends AbstractJMSTest {
 
     protected String componentName = "activemq";
 
@@ -40,7 +40,8 @@ public class JmsNoRequestTimeoutTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsNotInOnlyIncludeSentJMSMessageIDTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsNotInOnlyIncludeSentJMSMessageIDTest.java
index bcbb622eb96..63a4a4a1ac8 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsNotInOnlyIncludeSentJMSMessageIDTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsNotInOnlyIncludeSentJMSMessageIDTest.java
@@ -22,10 +22,10 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertNull;
@@ -33,7 +33,7 @@ import static org.junit.jupiter.api.Assertions.assertNull;
 /**
  *
  */
-public class JmsNotInOnlyIncludeSentJMSMessageIDTest extends CamelTestSupport {
+public class JmsNotInOnlyIncludeSentJMSMessageIDTest extends AbstractJMSTest {
 
     @Test
     public void testJmsNotInOnlyIncludeSentJMSMessageID() throws Exception {
@@ -57,7 +57,8 @@ public class JmsNotInOnlyIncludeSentJMSMessageIDTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsNotIncludeAllJMSXPropertiesTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsNotIncludeAllJMSXPropertiesTest.java
index f2e870b8cec..5bba303394f 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsNotIncludeAllJMSXPropertiesTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsNotIncludeAllJMSXPropertiesTest.java
@@ -23,12 +23,12 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsNotIncludeAllJMSXPropertiesTest extends CamelTestSupport {
+public class JmsNotIncludeAllJMSXPropertiesTest extends AbstractJMSTest {
 
     @Test
     public void testNotIncludeAll() throws Exception {
@@ -50,7 +50,8 @@ public class JmsNotIncludeAllJMSXPropertiesTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         JmsComponent jms = jmsComponentAutoAcknowledge(connectionFactory);
         jms.getConfiguration().setIncludeAllJMSXProperties(false);
         camelContext.addComponent("activemq", jms);
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsOnCompletionAndInterceptAndOnExceptionTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsOnCompletionAndInterceptAndOnExceptionTest.java
index 64f3537a71e..9258c1da19b 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsOnCompletionAndInterceptAndOnExceptionTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsOnCompletionAndInterceptAndOnExceptionTest.java
@@ -23,12 +23,12 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsOnCompletionAndInterceptAndOnExceptionTest extends CamelTestSupport {
+public class JmsOnCompletionAndInterceptAndOnExceptionTest extends AbstractJMSTest {
 
     @Test
     public void testSynchronizeComplete() throws Exception {
@@ -84,7 +84,8 @@ public class JmsOnCompletionAndInterceptAndOnExceptionTest extends CamelTestSupp
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsOnCompletionTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsOnCompletionTest.java
index 66cb361ab35..551a02af07a 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsOnCompletionTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsOnCompletionTest.java
@@ -23,15 +23,15 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
 /**
  * Unit test for useOriginalBody unit test
  */
-public class JmsOnCompletionTest extends CamelTestSupport {
+public class JmsOnCompletionTest extends AbstractJMSTest {
 
     @Test
     public void testSynchronizeComplete() throws Exception {
@@ -99,7 +99,8 @@ public class JmsOnCompletionTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsPollingConsumerTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsPollingConsumerTest.java
index c09a15cbf65..70549fc0736 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsPollingConsumerTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsPollingConsumerTest.java
@@ -16,110 +16,172 @@
  */
 package org.apache.camel.component.jms;
 
+import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
 
 import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
+import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
-public class JmsPollingConsumerTest extends CamelTestSupport {
+public class JmsPollingConsumerTest extends AbstractJMSTest {
 
-    @Test
-    public void testJmsPollingConsumerWait() throws Exception {
-        MockEndpoint mock = getMockEndpoint("mock:result");
-        mock.expectedBodiesReceived("Hello Claus");
+    @Nested
+    class ConsumerWaitTest {
 
-        // use another thread for polling consumer to demonstrate that we can wait before
-        // the message is sent to the queue
-        Executors.newSingleThreadExecutor().execute(() -> {
-            String body = consumer.receiveBody("activemq:queue.start", String.class);
-            template.sendBody("activemq:queue.foo", body + " Claus");
-        });
-
-        // wait a little to demonstrate we can start poll before we have a msg on the queue
-        Thread.sleep(500);
+        private CountDownLatch latch = new CountDownLatch(1);
 
-        template.sendBody("direct:start", "Hello");
+        @BeforeEach
+        void setupConsumer() {
+            // use another thread for polling consumer to demonstrate that we can wait before
+            // the message is sent to the queue
+            Executors.newSingleThreadExecutor().execute(() -> {
+                String body = consumer.receiveBody("activemq:queue.JmsPollingConsumerTest.start", String.class);
+                template.sendBody("activemq:queue.JmsPollingConsumerTest.foo", body + " Claus");
+                latch.countDown();
+            });
+        }
 
-        assertMockEndpointsSatisfied();
-    }
+        @Test
+        void testJmsPollingConsumerWait() throws Exception {
+            MockEndpoint mock = getMockEndpoint("mock:result");
+            mock.expectedBodiesReceived("Hello Claus");
 
-    @Test
-    public void testJmsPollingConsumerNoWait() throws Exception {
-        MockEndpoint mock = getMockEndpoint("mock:result");
-        mock.expectedBodiesReceived("Hello Claus");
+            /* Wait a little to demonstrate we can start poll before we have a msg on the queue. Also,
+            because expect no message to be received, the latch should timeout. That is why we test for
+            false.
+             */
+            assertFalse(latch.await(1, TimeUnit.SECONDS));
 
-        // use another thread for polling consumer to demonstrate that we can wait before
-        // the message is sent to the queue
-        Executors.newSingleThreadExecutor().execute(() -> {
-            String body = consumer.receiveBodyNoWait("activemq:queue.start", String.class);
-            assertNull(body, "Should be null");
+            template.sendBody("direct:start", "Hello");
 
-            template.sendBody("activemq:queue.foo", "Hello Claus");
-        });
-
-        // wait a little to demonstrate we can start poll before we have a msg on the queue
-        Thread.sleep(500);
-
-        template.sendBody("direct:start", "Hello");
-
-        assertMockEndpointsSatisfied();
+            assertMockEndpointsSatisfied();
+        }
     }
 
-    @Test
-    public void testJmsPollingConsumerLowTimeout() throws Exception {
-        MockEndpoint mock = getMockEndpoint("mock:result");
-        mock.expectedBodiesReceived("Hello Claus");
-
-        // use another thread for polling consumer to demonstrate that we can wait before
-        // the message is sent to the queue
-        Executors.newSingleThreadExecutor().execute(() -> {
-            String body = consumer.receiveBody("activemq:queue.start", 100, String.class);
-            assertNull(body, "Should be null");
-
-            template.sendBody("activemq:queue.foo", "Hello Claus");
-        });
-
-        // wait a little to demonstrate we can start poll before we have a msg on the queue
-        Thread.sleep(500);
-
-        template.sendBody("direct:start", "Hello");
+    @Nested
+    class ConsumerNoWaitTest {
+        private CountDownLatch latch = new CountDownLatch(1);
+        private volatile String body;
+
+        @BeforeEach
+        void setupConsumer() {
+            // use another thread for polling consumer to demonstrate that we can wait before
+            // the message is sent to the queue
+            Executors.newSingleThreadExecutor().execute(() -> {
+                try {
+                    body = consumer.receiveBodyNoWait("activemq:queue.JmsPollingConsumerTest.start", String.class);
+                    template.sendBody("activemq:queue.JmsPollingConsumerTest.foo", "Hello Claus");
+                } finally {
+                    latch.countDown();
+                }
+            });
+        }
+
+        @Test
+        public void testJmsPollingConsumerNoWait() throws Exception {
+            MockEndpoint mock = getMockEndpoint("mock:result");
+            mock.expectedBodiesReceived("Hello Claus");
+
+            // wait a little to demonstrate we can start poll before we have a msg on the queue
+            assertTrue(latch.await(500, TimeUnit.MILLISECONDS));
+            assertNull(body, "Message body should be null because there was no message and the polling consumer is 'no wait'");
+
+            template.sendBody("direct:start", "Hello");
+
+            assertMockEndpointsSatisfied();
+        }
+    }
 
-        assertMockEndpointsSatisfied();
+    @Nested
+    class LowTimeoutTest {
+        private CountDownLatch latch = new CountDownLatch(1);
+        private volatile String body;
+
+        @BeforeEach
+        void setupConsumer() {
+            // use another thread for polling consumer to demonstrate that we can wait before
+            // the message is sent to the queue
+            Executors.newSingleThreadExecutor().execute(() -> {
+                body = consumer.receiveBody("activemq:queue.JmsPollingConsumerTest.start", 100, String.class);
+                template.sendBody("activemq:queue.JmsPollingConsumerTest.foo", "Hello Claus");
+                latch.countDown();
+            });
+        }
+
+        @Test
+        public void testJmsPollingConsumerLowTimeout() throws Exception {
+            MockEndpoint mock = getMockEndpoint("mock:result");
+            mock.expectedBodiesReceived("Hello Claus");
+
+            // wait a little to demonstrate we can start poll before we have a msg on the queue
+            assertTrue(latch.await(500, TimeUnit.MILLISECONDS));
+            assertNull(body, "Message body should be null because the receive timed out");
+
+            template.sendBody("direct:start", "Hello");
+
+            assertMockEndpointsSatisfied();
+        }
     }
 
-    @Test
-    public void testJmsPollingConsumerHighTimeout() throws Exception {
-        MockEndpoint mock = getMockEndpoint("mock:result");
-        mock.expectedBodiesReceived("Hello Claus");
+    @Nested
+    class HighTimeOutTest {
+        private CountDownLatch latch = new CountDownLatch(1);
+
+        @BeforeEach
+        void setupConsumer() {
+            // use another thread for polling consumer to demonstrate that we can wait before
+            // the message is sent to the queue
+            Executors.newSingleThreadExecutor().execute(() -> {
+                String body = consumer.receiveBody("activemq:queue.JmsPollingConsumerTest.start", 3000, String.class);
+                template.sendBody("activemq:queue.JmsPollingConsumerTest.foo", body + " Claus");
+                latch.countDown();
+            });
+        }
+
+        @Test
+        public void testJmsPollingConsumerHighTimeout() throws Exception {
+            MockEndpoint mock = getMockEndpoint("mock:result");
+            mock.expectedBodiesReceived("Hello Claus");
+
+            // wait a little to demonstrate we can start poll before we have a msg on the queue
+            assertFalse(latch.await(500, TimeUnit.MILLISECONDS),
+                    "No message should have been received within 500 milliseconds");
+            template.sendBody("direct:start", "Hello");
+
+            assertMockEndpointsSatisfied();
+        }
+    }
 
-        // use another thread for polling consumer to demonstrate that we can wait before
-        // the message is sent to the queue
+    @AfterEach
+    void cleanupConsumer() {
+        // We must ensure there's nothing on the queue between test executions
         Executors.newSingleThreadExecutor().execute(() -> {
-            String body = consumer.receiveBody("activemq:queue.start", 3000, String.class);
-            template.sendBody("activemq:queue.foo", body + " Claus");
+            try {
+                consumer.receiveBody("activemq:queue.JmsPollingConsumerTest.start", 200, String.class);
+            } catch (Exception e) {
+                // This is usually safe to ignore (ie.: if not connected, not started, etc after the test was run)
+            }
         });
-
-        // wait a little to demonstrate we can start poll before we have a msg on the queue
-        Thread.sleep(500);
-
-        template.sendBody("direct:start", "Hello");
-
-        assertMockEndpointsSatisfied();
     }
 
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
@@ -130,9 +192,9 @@ public class JmsPollingConsumerTest extends CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
-                from("direct:start").to("activemq:queue.start");
+                from("direct:start").to("activemq:queue.JmsPollingConsumerTest.start");
 
-                from("activemq:queue.foo").to("mock:result");
+                from("activemq:queue.JmsPollingConsumerTest.foo").to("mock:result");
             }
         };
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsProduerConcurrentTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsProducerConcurrentTest.java
similarity index 85%
rename from components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsProduerConcurrentTest.java
rename to components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsProducerConcurrentTest.java
index 9cfefed7a9f..4d27554e1f1 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsProduerConcurrentTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsProducerConcurrentTest.java
@@ -23,13 +23,13 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.apache.camel.test.junit5.TestSupport.body;
 
-public class JmsProduerConcurrentTest extends CamelTestSupport {
+public class JmsProducerConcurrentTest extends AbstractJMSTest {
 
     @Test
     public void testNoConcurrentProducers() throws Exception {
@@ -62,7 +62,8 @@ public class JmsProduerConcurrentTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("jms", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
@@ -73,9 +74,9 @@ public class JmsProduerConcurrentTest extends CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
-                from("direct:start").to("jms:queue:foo");
+                from("direct:start").to("jms:queue:fooJmsProducerConcurrentTest");
 
-                from("jms:queue:foo").to("mock:result");
+                from("jms:queue:fooJmsProducerConcurrentTest").to("mock:result");
             }
         };
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsProduerConcurrentWithReplyTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsProducerConcurrentWithReplyTest.java
similarity index 84%
rename from components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsProduerConcurrentWithReplyTest.java
rename to components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsProducerConcurrentWithReplyTest.java
index 5a276b5f480..1c698abca48 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsProduerConcurrentWithReplyTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsProducerConcurrentWithReplyTest.java
@@ -26,14 +26,14 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.apache.camel.test.junit5.TestSupport.body;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsProduerConcurrentWithReplyTest extends CamelTestSupport {
+public class JmsProducerConcurrentWithReplyTest extends AbstractJMSTest {
 
     @Test
     public void testNoConcurrentProducers() throws Exception {
@@ -70,7 +70,8 @@ public class JmsProduerConcurrentWithReplyTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("jms", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
@@ -81,9 +82,10 @@ public class JmsProduerConcurrentWithReplyTest extends CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
-                from("direct:start").to("jms:queue:foo");
+                from("direct:start").to("jms:queue:JmsProducerConcurrentWithReplyTest");
 
-                from("jms:queue:foo?concurrentConsumers=5").transform(simple("Bye ${in.body}")).to("mock:result");
+                from("jms:queue:JmsProducerConcurrentWithReplyTest?concurrentConsumers=5").transform(simple("Bye ${in.body}"))
+                        .to("mock:result");
             }
         };
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsProducerWithJMSHeaderTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsProducerWithJMSHeaderTest.java
index 0d687edc981..bbdb75aad16 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsProducerWithJMSHeaderTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsProducerWithJMSHeaderTest.java
@@ -28,11 +28,15 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
+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;
 import static org.apache.camel.component.jms.JmsConstants.JMS_X_GROUP_ID;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -40,13 +44,18 @@ import static org.testcontainers.shaded.org.awaitility.Awaitility.await;
 
 public class JmsProducerWithJMSHeaderTest extends CamelTestSupport {
 
+    // This one needs a different lifecycle, so we cannot extend AbstractJMSTest
+    @RegisterExtension
+    private ActiveMQService service = ActiveMQServiceFactory.createEmbeddedService();
+
     @Test
     public void testInOnlyJMSPrioritory() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(1);
         mock.message(0).header("JMSPriority").isEqualTo(2);
 
-        template.sendBodyAndHeader("activemq:queue:foo?preserveMessageQos=true", "Hello World", "JMSPriority", "2");
+        template.sendBodyAndHeader("activemq:queue:fooJmsProducerWithJMSHeaderTest?preserveMessageQos=true", "Hello World",
+                "JMSPriority", "2");
 
         assertMockEndpointsSatisfied();
     }
@@ -57,7 +66,8 @@ public class JmsProducerWithJMSHeaderTest extends CamelTestSupport {
         mock.expectedMessageCount(1);
         mock.message(0).header("JMSPriority").isEqualTo(0);
 
-        template.sendBodyAndHeader("activemq:queue:foo?preserveMessageQos=true", "Hello World", "JMSPriority", "0");
+        template.sendBodyAndHeader("activemq:queue:fooJmsProducerWithJMSHeaderTest?preserveMessageQos=true", "Hello World",
+                "JMSPriority", "0");
 
         assertMockEndpointsSatisfied();
     }
@@ -68,7 +78,8 @@ public class JmsProducerWithJMSHeaderTest extends CamelTestSupport {
         mock.expectedMessageCount(1);
         mock.message(0).header("JMSPriority").isEqualTo(9);
 
-        template.sendBodyAndHeader("activemq:queue:foo?preserveMessageQos=true", "Hello World", "JMSPriority", "9");
+        template.sendBodyAndHeader("activemq:queue:fooJmsProducerWithJMSHeaderTest?preserveMessageQos=true", "Hello World",
+                "JMSPriority", "9");
 
         assertMockEndpointsSatisfied();
     }
@@ -81,7 +92,8 @@ public class JmsProducerWithJMSHeaderTest extends CamelTestSupport {
         // not provided as header but should use endpoint default then
         mock.message(0).header("JMSDeliveryMode").isEqualTo(2);
 
-        template.sendBodyAndHeader("activemq:queue:foo?preserveMessageQos=true", "Hello World", "JMSPriority", "2");
+        template.sendBodyAndHeader("activemq:queue:fooJmsProducerWithJMSHeaderTest?preserveMessageQos=true", "Hello World",
+                "JMSPriority", "2");
 
         assertMockEndpointsSatisfied();
     }
@@ -92,7 +104,8 @@ public class JmsProducerWithJMSHeaderTest extends CamelTestSupport {
         mock.expectedMessageCount(1);
         mock.message(0).header("JMSDeliveryMode").isEqualTo(1);
 
-        template.sendBodyAndHeader("activemq:queue:foo?preserveMessageQos=true", "Hello World", "JMSDeliveryMode", "1");
+        template.sendBodyAndHeader("activemq:queue:fooJmsProducerWithJMSHeaderTest?preserveMessageQos=true", "Hello World",
+                "JMSDeliveryMode", "1");
 
         assertMockEndpointsSatisfied();
     }
@@ -103,7 +116,8 @@ public class JmsProducerWithJMSHeaderTest extends CamelTestSupport {
         mock.expectedMessageCount(1);
         mock.message(0).header("JMSDeliveryMode").isEqualTo(1);
 
-        template.sendBodyAndHeader("activemq:queue:foo?preserveMessageQos=true", "Hello World", "JMSDeliveryMode",
+        template.sendBodyAndHeader("activemq:queue:fooJmsProducerWithJMSHeaderTest?preserveMessageQos=true", "Hello World",
+                "JMSDeliveryMode",
                 "NON_PERSISTENT");
 
         assertMockEndpointsSatisfied();
@@ -115,16 +129,17 @@ public class JmsProducerWithJMSHeaderTest extends CamelTestSupport {
         mock.expectedMessageCount(1);
 
         long ttl = System.currentTimeMillis() + 5000;
-        template.sendBodyAndHeader("activemq:queue:bar?preserveMessageQos=true", "Hello World", "JMSExpiration", ttl);
+        template.sendBodyAndHeader("activemq:queue:barJmsProducerWithJMSHeaderTest?preserveMessageQos=true", "Hello World",
+                "JMSExpiration", ttl);
 
         // sleep just a little
         Thread.sleep(2000);
 
         // use timeout in case running on slow box
-        Exchange bar = consumer.receive("activemq:queue:bar", 10000);
+        Exchange bar = consumer.receive("activemq:queue:barJmsProducerWithJMSHeaderTest", 10000);
         assertNotNull(bar, "Should be a message on queue");
 
-        template.send("activemq:queue:foo", bar);
+        template.send("activemq:queue:fooJmsProducerWithJMSHeaderTest", bar);
 
         assertMockEndpointsSatisfied();
     }
@@ -135,12 +150,14 @@ public class JmsProducerWithJMSHeaderTest extends CamelTestSupport {
         mock.expectedMessageCount(1);
 
         long ttl = System.currentTimeMillis() + 2000;
-        template.sendBodyAndHeader("activemq:queue:bar?preserveMessageQos=true", "Hello World", "JMSExpiration", ttl);
+        template.sendBodyAndHeader("activemq:queue:barJmsProducerWithJMSHeaderTest?preserveMessageQos=true", "Hello World",
+                "JMSExpiration", ttl);
 
         // sleep more so the message is expired
         await().atMost(5, TimeUnit.SECONDS)
-                .untilAsserted(() -> assertThat(consumer.receiveNoWait("activemq:queue:bar")).isNull());
-        template.sendBody("activemq:queue:foo", "Hello World");
+                .untilAsserted(
+                        () -> assertThat(consumer.receiveNoWait("activemq:queue:barJmsProducerWithJMSHeaderTest")).isNull());
+        template.sendBody("activemq:queue:fooJmsProducerWithJMSHeaderTest", "Hello World");
 
         assertMockEndpointsSatisfied();
     }
@@ -155,7 +172,8 @@ public class JmsProducerWithJMSHeaderTest extends CamelTestSupport {
         Map<String, Object> headers = new HashMap<>();
         headers.put("JMSPriority", 3);
         headers.put("JMSDeliveryMode", 2);
-        template.sendBodyAndHeaders("activemq:queue:foo?preserveMessageQos=true", "Hello World", headers);
+        template.sendBodyAndHeaders("activemq:queue:fooJmsProducerWithJMSHeaderTest?preserveMessageQos=true", "Hello World",
+                headers);
 
         assertMockEndpointsSatisfied();
     }
@@ -172,14 +190,15 @@ public class JmsProducerWithJMSHeaderTest extends CamelTestSupport {
         headers.put("JMSPriority", 3);
         headers.put("JMSDeliveryMode", 2);
         headers.put("JMSExpiration", ttl);
-        template.sendBodyAndHeaders("activemq:queue:bar?preserveMessageQos=true", "Hello World", headers);
+        template.sendBodyAndHeaders("activemq:queue:barJmsProducerWithJMSHeaderTest?preserveMessageQos=true", "Hello World",
+                headers);
 
         // sleep just a little
         Thread.sleep(50);
 
-        Exchange bar = consumer.receive("activemq:queue:bar", 5000);
+        Exchange bar = consumer.receive("activemq:queue:barJmsProducerWithJMSHeaderTest", 5000);
         assertNotNull(bar, "Should be a message on queue");
-        template.send("activemq:queue:foo?preserveMessageQos=true", bar);
+        template.send("activemq:queue:fooJmsProducerWithJMSHeaderTest?preserveMessageQos=true", bar);
 
         Thread.sleep(1000);
 
@@ -196,14 +215,16 @@ public class JmsProducerWithJMSHeaderTest extends CamelTestSupport {
         headers.put("JMSPriority", 3);
         headers.put("JMSDeliveryMode", 2);
         headers.put("JMSExpiration", ttl);
-        template.sendBodyAndHeaders("activemq:queue:bar?preserveMessageQos=true", "Hello World", headers);
+        template.sendBodyAndHeaders("activemq:queue:barJmsProducerWithJMSHeaderTest?preserveMessageQos=true", "Hello World",
+                headers);
 
         // sleep more so the message is expired
         await()
                 .atMost(5, TimeUnit.SECONDS)
-                .untilAsserted(() -> assertThat(consumer.receiveNoWait("activemq:queue:bar")).isNull());
+                .untilAsserted(
+                        () -> assertThat(consumer.receiveNoWait("activemq:queue:barJmsProducerWithJMSHeaderTest")).isNull());
 
-        template.sendBody("activemq:queue:foo", "Hello World");
+        template.sendBody("activemq:queue:fooJmsProducerWithJMSHeaderTest", "Hello World");
 
         assertMockEndpointsSatisfied();
     }
@@ -214,24 +235,25 @@ public class JmsProducerWithJMSHeaderTest extends CamelTestSupport {
         mock.expectedMessageCount(1);
         mock.message(0).header(JMS_X_GROUP_ID).isEqualTo("atom");
 
-        template.sendBodyAndHeader("activemq:queue:foo", "Hello World", JMS_X_GROUP_ID, "atom");
+        template.sendBodyAndHeader("activemq:queue:fooJmsProducerWithJMSHeaderTest", "Hello World", JMS_X_GROUP_ID, "atom");
 
         assertMockEndpointsSatisfied();
     }
 
     @Test
     public void testInOnlyJMSDestination() throws Exception {
-        Destination queue = new ActiveMQQueue("foo");
+        Destination queue = new ActiveMQQueue("fooJmsProducerWithJMSHeaderTest");
 
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(1);
         mock.message(0).header("JMSDestination").isNotNull();
 
-        template.sendBodyAndHeader("activemq:queue:bar", "Hello World", JmsConstants.JMS_DESTINATION, queue);
+        template.sendBodyAndHeader("activemq:queue:barJmsProducerWithJMSHeaderTest", "Hello World",
+                JmsConstants.JMS_DESTINATION, queue);
 
         assertMockEndpointsSatisfied();
 
-        assertEquals("queue://foo",
+        assertEquals("queue://fooJmsProducerWithJMSHeaderTest",
                 mock.getReceivedExchanges().get(0).getIn().getHeader("JMSDestination", Destination.class).toString());
     }
 
@@ -241,27 +263,29 @@ public class JmsProducerWithJMSHeaderTest extends CamelTestSupport {
         mock.expectedMessageCount(1);
         mock.message(0).header("JMSDestination").isNotNull();
 
-        template.sendBodyAndHeader("activemq:queue:bar", "Hello World", JmsConstants.JMS_DESTINATION_NAME, "foo");
+        template.sendBodyAndHeader("activemq:queue:barJmsProducerWithJMSHeaderTest", "Hello World",
+                JmsConstants.JMS_DESTINATION_NAME, "fooJmsProducerWithJMSHeaderTest");
 
         assertMockEndpointsSatisfied();
 
-        assertEquals("queue://foo",
+        assertEquals("queue://fooJmsProducerWithJMSHeaderTest",
                 mock.getReceivedExchanges().get(0).getIn().getHeader("JMSDestination", Destination.class).toString());
     }
 
     @Test
     public void testInOutJMSDestination() {
-        Destination queue = new ActiveMQQueue("reply");
+        Destination queue = new ActiveMQQueue("replyJmsProducerWithJMSHeaderTest");
 
-        String reply = (String) template.requestBodyAndHeader("activemq:queue:bar", "Hello World", JmsConstants.JMS_DESTINATION,
+        String reply = (String) template.requestBodyAndHeader("activemq:queue:barJmsProducerWithJMSHeaderTest", "Hello World",
+                JmsConstants.JMS_DESTINATION,
                 queue);
         assertEquals("Bye World", reply);
     }
 
     @Test
     public void testInOutJMSDestinationName() {
-        String reply = (String) template.requestBodyAndHeader("activemq:queue:bar", "Hello World",
-                JmsConstants.JMS_DESTINATION_NAME, "reply");
+        String reply = (String) template.requestBodyAndHeader("activemq:queue:barJmsProducerWithJMSHeaderTest", "Hello World",
+                JmsConstants.JMS_DESTINATION_NAME, "replyJmsProducerWithJMSHeaderTest");
         assertEquals("Bye World", reply);
     }
 
@@ -269,8 +293,8 @@ public class JmsProducerWithJMSHeaderTest extends CamelTestSupport {
     public void testInOnlyRouteJMSDestinationName() throws Exception {
         context.addRoutes(new RouteBuilder() {
             public void configure() {
-                from("activemq:queue:a").to("activemq:queue:b");
-                from("activemq:queue:b").to("mock:result");
+                from("activemq:queue:aJmsProducerWithJMSHeaderTest").to("activemq:queue:bJmsProducerWithJMSHeaderTest");
+                from("activemq:queue:bJmsProducerWithJMSHeaderTest").to("mock:result");
             }
         });
         context.start();
@@ -279,11 +303,12 @@ public class JmsProducerWithJMSHeaderTest extends CamelTestSupport {
         mock.expectedBodiesReceived("Hello World");
         mock.message(0).header("JMSDestination").isNotNull();
 
-        template.sendBodyAndHeader("activemq:queue:bar", "Hello World", JmsConstants.JMS_DESTINATION_NAME, "a");
+        template.sendBodyAndHeader("activemq:queue:barJmsProducerWithJMSHeaderTest", "Hello World",
+                JmsConstants.JMS_DESTINATION_NAME, "aJmsProducerWithJMSHeaderTest");
 
         assertMockEndpointsSatisfied();
 
-        assertEquals("queue://b",
+        assertEquals("queue://bJmsProducerWithJMSHeaderTest",
                 mock.getReceivedExchanges().get(0).getIn().getHeader("JMSDestination", Destination.class).toString());
     }
 
@@ -291,7 +316,8 @@ public class JmsProducerWithJMSHeaderTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
@@ -302,9 +328,9 @@ public class JmsProducerWithJMSHeaderTest extends CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
-                from("activemq:queue:foo").to("mock:result");
+                from("activemq:queue:fooJmsProducerWithJMSHeaderTest").to("mock:result");
 
-                from("activemq:queue:reply").transform(constant("Bye World"));
+                from("activemq:queue:replyJmsProducerWithJMSHeaderTest").transform(constant("Bye World"));
 
             }
         };
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsQosRouteTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsQosRouteTest.java
index 8f8a98c7aba..7ab3697c9d4 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsQosRouteTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsQosRouteTest.java
@@ -21,12 +21,12 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsQosRouteTest extends CamelTestSupport {
+public class JmsQosRouteTest extends AbstractJMSTest {
     protected String componentName = "activemq";
 
     @Test
@@ -67,7 +67,8 @@ public class JmsQosRouteTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRemoveHeaderTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRemoveHeaderTest.java
index 745dc933396..6e8aa91d63b 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRemoveHeaderTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRemoveHeaderTest.java
@@ -24,12 +24,12 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsRemoveHeaderTest extends CamelTestSupport {
+public class JmsRemoveHeaderTest extends AbstractJMSTest {
 
     @Test
     public void testRemoveHeader() throws Exception {
@@ -44,7 +44,7 @@ public class JmsRemoveHeaderTest extends CamelTestSupport {
         headers.put("foo", "cheese");
         headers.put("bar", 123);
 
-        template.sendBodyAndHeaders("activemq:queue:foo", "Hello World", headers);
+        template.sendBodyAndHeaders("activemq:queue:fooJmsRemoveHeaderTest", "Hello World", headers);
 
         assertMockEndpointsSatisfied();
     }
@@ -53,7 +53,8 @@ public class JmsRemoveHeaderTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
@@ -64,9 +65,9 @@ public class JmsRemoveHeaderTest extends CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
-                from("activemq:queue:foo").removeHeader("foo").to("activemq:queue:bar");
+                from("activemq:queue:fooJmsRemoveHeaderTest").removeHeader("foo").to("activemq:queue:barJmsRemoveHeaderTest");
 
-                from("activemq:queue:bar").to("mock:result");
+                from("activemq:queue:barJmsRemoveHeaderTest").to("mock:result");
             }
         };
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyCorrelationTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyCorrelationTest.java
index 7b506803e96..ce093d6f4bd 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyCorrelationTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyCorrelationTest.java
@@ -27,10 +27,10 @@ import org.apache.camel.Message;
 import org.apache.camel.builder.NotifyBuilder;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -39,7 +39,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 /**
  * Tests how the correlation between request and reply is done
  */
-public class JmsRequestReplyCorrelationTest extends CamelTestSupport {
+public class JmsRequestReplyCorrelationTest extends AbstractJMSTest {
 
     private static final String REPLY_BODY = "Bye World";
 
@@ -229,7 +229,8 @@ public class JmsRequestReplyCorrelationTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         JmsComponent jmsComponent = jmsComponentAutoAcknowledge(connectionFactory);
         jmsComponent.getConfiguration().setUseMessageIDAsCorrelationID(false);
         camelContext.addComponent("jms", jmsComponent);
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyExclusiveReplyToComponentTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyExclusiveReplyToComponentTest.java
index d19fe98e1ca..ca97dcf4889 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyExclusiveReplyToComponentTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyExclusiveReplyToComponentTest.java
@@ -20,18 +20,18 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.apache.camel.util.StopWatch;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Using exclusive fixed replyTo queues should be faster as there is no need for JMSMessage selectors.
  */
-public class JmsRequestReplyExclusiveReplyToComponentTest extends CamelTestSupport {
+public class JmsRequestReplyExclusiveReplyToComponentTest extends AbstractJMSTest {
 
     @Test
     public void testJmsRequestReplyExclusiveFixedReplyTo() {
@@ -50,7 +50,8 @@ public class JmsRequestReplyExclusiveReplyToComponentTest extends CamelTestSuppo
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         // mark the reply to type as exclusive on the component
         JmsComponent jms = jmsComponentAutoAcknowledge(connectionFactory);
         jms.getConfiguration().setReplyToType(ReplyToType.Exclusive);
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyExclusiveReplyToConcurrentTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyExclusiveReplyToConcurrentTest.java
index 3dbba7503eb..99791fb30b1 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyExclusiveReplyToConcurrentTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyExclusiveReplyToConcurrentTest.java
@@ -25,18 +25,18 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.apache.camel.util.StopWatch;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-public class JmsRequestReplyExclusiveReplyToConcurrentTest extends CamelTestSupport {
+public class JmsRequestReplyExclusiveReplyToConcurrentTest extends AbstractJMSTest {
 
     private static final Logger LOG = LoggerFactory.getLogger(JmsRequestReplyExclusiveReplyToConcurrentTest.class);
 
@@ -61,7 +61,7 @@ public class JmsRequestReplyExclusiveReplyToConcurrentTest extends CamelTestSupp
         LOG.info("Waiting to process {} messages...", size);
 
         // if any of the assertions above fails then the latch will not get decremented 
-        assertTrue(latch.await(3, TimeUnit.SECONDS), "All assertions outside the main thread above should have passed");
+        assertTrue(latch.await(10, TimeUnit.SECONDS), "All assertions outside the main thread above should have passed");
 
         long delta = watch.taken();
         LOG.info("Took {} millis", delta);
@@ -75,7 +75,8 @@ public class JmsRequestReplyExclusiveReplyToConcurrentTest extends CamelTestSupp
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
@@ -86,11 +87,11 @@ public class JmsRequestReplyExclusiveReplyToConcurrentTest extends CamelTestSupp
             @Override
             public void configure() {
                 from("direct:start")
-                        .to("activemq:queue:foo?replyTo=bar&replyToType=Exclusive&concurrentConsumers=5&maxConcurrentConsumers=10&maxMessagesPerTask=100")
+                        .to("activemq:queue:fooJmsRequestReplyExclusiveReplyToConcurrentTest?replyTo=bar&replyToType=Exclusive&concurrentConsumers=5&maxConcurrentConsumers=10&maxMessagesPerTask=100")
                         .to("log:reply")
                         .to("mock:reply");
 
-                from("activemq:queue:foo?concurrentConsumers=5&maxConcurrentConsumers=10&maxMessagesPerTask=100")
+                from("activemq:queue:fooJmsRequestReplyExclusiveReplyToConcurrentTest?concurrentConsumers=5&maxConcurrentConsumers=10&maxMessagesPerTask=100")
                         .transform(body().prepend("Hello "));
             }
         };
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyExclusiveReplyToRemoveAddRouteTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyExclusiveReplyToRemoveAddRouteTest.java
index b128f21e8fb..d5047232b94 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyExclusiveReplyToRemoveAddRouteTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyExclusiveReplyToRemoveAddRouteTest.java
@@ -20,13 +20,13 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsRequestReplyExclusiveReplyToRemoveAddRouteTest extends CamelTestSupport {
+public class JmsRequestReplyExclusiveReplyToRemoveAddRouteTest extends AbstractJMSTest {
 
     @Test
     public void testJmsRequestReplyExclusiveFixedReplyTo() throws Exception {
@@ -56,7 +56,8 @@ public class JmsRequestReplyExclusiveReplyToRemoveAddRouteTest extends CamelTest
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyExclusiveReplyToTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyExclusiveReplyToTest.java
index 6ef44600d19..040df655108 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyExclusiveReplyToTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyExclusiveReplyToTest.java
@@ -22,11 +22,11 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.CamelExecutionException;
 import org.apache.camel.FailedToCreateProducerException;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.apache.camel.util.StopWatch;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.apache.camel.test.junit5.TestSupport.assertIsInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -35,7 +35,7 @@ import static org.junit.jupiter.api.Assertions.fail;
 /**
  * Using exclusive fixed replyTo queues should be faster as there is no need for JMSMessage selectors.
  */
-public class JmsRequestReplyExclusiveReplyToTest extends CamelTestSupport {
+public class JmsRequestReplyExclusiveReplyToTest extends AbstractJMSTest {
 
     @Test
     public void testJmsRequestReplyExclusiveFixedReplyTo() {
@@ -67,7 +67,8 @@ public class JmsRequestReplyExclusiveReplyToTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyFixedReplyToInEndpointTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyFixedReplyToInEndpointTest.java
index ad1ecafeb3e..2f7c69320f4 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyFixedReplyToInEndpointTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyFixedReplyToInEndpointTest.java
@@ -21,14 +21,14 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-public class JmsRequestReplyFixedReplyToInEndpointTest extends CamelTestSupport {
+public class JmsRequestReplyFixedReplyToInEndpointTest extends AbstractJMSTest {
 
     @Test
     public void testJmsRequestReplyTempReplyTo() {
@@ -63,7 +63,8 @@ public class JmsRequestReplyFixedReplyToInEndpointTest extends CamelTestSupport
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyManualReplyTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyManualReplyTest.java
index 0e5bb1b804c..2a674bfa7e7 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyManualReplyTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyManualReplyTest.java
@@ -28,15 +28,15 @@ import org.apache.camel.Body;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Consume;
 import org.apache.camel.Header;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 import org.springframework.jms.core.JmsTemplate;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-public class JmsRequestReplyManualReplyTest extends CamelTestSupport {
+public class JmsRequestReplyManualReplyTest extends AbstractJMSTest {
 
     private static volatile String tempName;
     private final CountDownLatch latch = new CountDownLatch(1);
@@ -80,7 +80,8 @@ public class JmsRequestReplyManualReplyTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         jms = new JmsTemplate(connectionFactory);
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyManualWithJMSReplyToTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyManualWithJMSReplyToTest.java
index 39a89e96474..8536a4d83ac 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyManualWithJMSReplyToTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyManualWithJMSReplyToTest.java
@@ -23,20 +23,20 @@ import org.apache.camel.Body;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Consume;
 import org.apache.camel.Header;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsRequestReplyManualWithJMSReplyToTest extends CamelTestSupport {
+public class JmsRequestReplyManualWithJMSReplyToTest extends AbstractJMSTest {
 
     @Override
     public boolean isUseRouteBuilder() {
         return false;
     }
 
-    @Consume("activemq:queue:foo")
+    @Consume("activemq:queue:fooJmsRequestReplyManualWithJMSReplyToTest")
     public void doSomething(@Header("JMSReplyTo") Destination jmsReplyTo, @Body String body) {
         assertEquals("Hello World", body);
 
@@ -49,12 +49,12 @@ public class JmsRequestReplyManualWithJMSReplyToTest extends CamelTestSupport {
         context.start();
 
         // send an InOnly but force Camel to pass JMSReplyTo
-        template.send("activemq:queue:foo?preserveMessageQos=true", exchange -> {
+        template.send("activemq:queue:fooJmsRequestReplyManualWithJMSReplyToTest?preserveMessageQos=true", exchange -> {
             exchange.getIn().setBody("Hello World");
-            exchange.getIn().setHeader("JMSReplyTo", "bar");
+            exchange.getIn().setHeader("JMSReplyTo", "barJmsRequestReplyManualWithJMSReplyToTest");
         });
 
-        String reply = consumer.receiveBody("activemq:queue:bar", 5000, String.class);
+        String reply = consumer.receiveBody("activemq:queue:barJmsRequestReplyManualWithJMSReplyToTest", 5000, String.class);
         assertEquals("Bye World", reply);
     }
 
@@ -62,7 +62,7 @@ public class JmsRequestReplyManualWithJMSReplyToTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyProcessRepliesConcurrentUsingThreadsTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyProcessRepliesConcurrentUsingThreadsTest.java
index e09588167a4..fdcbda644e6 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyProcessRepliesConcurrentUsingThreadsTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyProcessRepliesConcurrentUsingThreadsTest.java
@@ -22,14 +22,14 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsRequestReplyProcessRepliesConcurrentUsingThreadsTest extends CamelTestSupport {
+public class JmsRequestReplyProcessRepliesConcurrentUsingThreadsTest extends AbstractJMSTest {
 
     private static final Logger LOG = LoggerFactory.getLogger(JmsRequestReplyProcessRepliesConcurrentUsingThreadsTest.class);
 
@@ -55,7 +55,8 @@ public class JmsRequestReplyProcessRepliesConcurrentUsingThreadsTest extends Cam
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyReplyToOverrideTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyReplyToOverrideTest.java
index 87d0ae094a1..3eb7830564d 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyReplyToOverrideTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyReplyToOverrideTest.java
@@ -23,15 +23,15 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.Message;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsRequestReplyReplyToOverrideTest extends CamelTestSupport {
+public class JmsRequestReplyReplyToOverrideTest extends AbstractJMSTest {
 
     private static final Logger LOG = LoggerFactory.getLogger(JmsRequestReplyReplyToOverrideTest.class);
 
@@ -60,7 +60,8 @@ public class JmsRequestReplyReplyToOverrideTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         JmsComponent jmsComponent = jmsComponentAutoAcknowledge(connectionFactory);
         jmsComponent.getConfiguration().setReplyTo("baz");
         jmsComponent.getConfiguration().setReplyToOverride("bar");
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplySharedReplyToTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplySharedReplyToTest.java
index 642e1a5bd1b..1b6ddfd85d8 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplySharedReplyToTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplySharedReplyToTest.java
@@ -20,15 +20,15 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.apache.camel.util.StopWatch;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-public class JmsRequestReplySharedReplyToTest extends CamelTestSupport {
+public class JmsRequestReplySharedReplyToTest extends AbstractJMSTest {
 
     @Test
     public void testJmsRequestReplySharedReplyTo() {
@@ -50,7 +50,8 @@ public class JmsRequestReplySharedReplyToTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyTemporaryCacheNoneTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyTemporaryCacheNoneTest.java
index fcef37a1fbb..93ec9746ead 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyTemporaryCacheNoneTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRequestReplyTemporaryCacheNoneTest.java
@@ -21,10 +21,10 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.CamelExecutionException;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 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;
@@ -33,7 +33,7 @@ import static org.junit.jupiter.api.Assertions.fail;
 /**
  *
  */
-public class JmsRequestReplyTemporaryCacheNoneTest extends CamelTestSupport {
+public class JmsRequestReplyTemporaryCacheNoneTest extends AbstractJMSTest {
 
     protected String componentName = "activemq";
 
@@ -41,7 +41,8 @@ public class JmsRequestReplyTemporaryCacheNoneTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
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 1ebc010dd37..29b168066e5 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.services.LegacyEmbeddedBroker;
 import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Disabled;
@@ -43,6 +44,7 @@ import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.TestInfo;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 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;
@@ -54,13 +56,16 @@ public class JmsRouteRequestReplyTest extends CamelTestSupport {
     protected static final String REPLY_TO_DESTINATION_SELECTOR_NAME = "camelProducer";
     protected static String componentName = "amq";
     protected static String componentName1 = "amq1";
-    protected static String endpointUriA = componentName + ":queue:test.a";
-    protected static String endpointUriB = componentName + ":queue:test.b";
-    protected static String endpointUriB1 = componentName1 + ":queue:test.b";
+    protected static String endpointUriA = componentName + ":queue:JmsRouteRequestReplyTest.a";
+    protected static String endpointUriB = componentName + ":queue:JmsRouteRequestReplyTest.b";
+    protected static String endpointUriB1 = componentName1 + ":queue:JmsRouteRequestReplyTest.b";
     // note that the replyTo both A and B endpoints share the persistent replyTo queue,
     // which is one more way to verify that reply listeners of A and B endpoints don't steal each other messages
-    protected static String endpointReplyToUriA = componentName + ":queue:test.a?replyTo=queue:test.a.reply";
-    protected static String endpointReplyToUriB = componentName + ":queue:test.b?replyTo=queue:test.a.reply";
+    protected static String endpointReplyToUriA
+            = componentName + ":queue:JmsRouteRequestReplyTest.a?replyTo=queue:JmsRouteRequestReplyTest.a.reply";
+    protected static String endpointReplyToUriB
+            = componentName + ":queue:JmsRouteRequestReplyTest.b?replyTo=queue:JmsRouteRequestReplyTest.a.reply";
+
     protected static String request = "Hello World";
     protected static String expectedReply = "Re: " + request;
     protected static int maxTasks = 20;
@@ -137,7 +142,10 @@ 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();
+
             JmsComponent jmsComponent = jmsComponentAutoAcknowledge(connectionFactory);
             jmsComponent.getConfiguration().setUseMessageIDAsCorrelationID(true);
             jmsComponent.getConfiguration().setConcurrentConsumers(maxServerTasks);
@@ -152,7 +160,9 @@ public class JmsRouteRequestReplyTest extends CamelTestSupport {
             ContextBuilder contextBuilderMessageID = new ContextBuilderMessageID();
 
             ContextBuilder contextBuilderCorrelationID = context -> {
-                ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+                final String brokerUrl = LegacyEmbeddedBroker.createBrokerUrl();
+                ConnectionFactory connectionFactory = createConnectionFactory(brokerUrl, null);
+
                 JmsComponent jms = jmsComponentAutoAcknowledge(connectionFactory);
                 jms.getConfiguration().setUseMessageIDAsCorrelationID(false);
                 jms.getConfiguration().setConcurrentConsumers(maxServerTasks);
@@ -161,7 +171,9 @@ public class JmsRouteRequestReplyTest extends CamelTestSupport {
             };
 
             ContextBuilder contextBuilderMessageIDNamedReplyToSelector = context -> {
-                ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+                final String brokerUrl = LegacyEmbeddedBroker.createBrokerUrl();
+                ConnectionFactory connectionFactory = createConnectionFactory(brokerUrl, null);
+
                 JmsComponent jms = jmsComponentAutoAcknowledge(connectionFactory);
                 jms.getConfiguration().setReplyToDestinationSelectorName(REPLY_TO_DESTINATION_SELECTOR_NAME);
                 jms.getConfiguration().setUseMessageIDAsCorrelationID(true);
@@ -171,7 +183,9 @@ public class JmsRouteRequestReplyTest extends CamelTestSupport {
             };
 
             ContextBuilder contextBuilderCorrelationIDNamedReplyToSelector = context -> {
-                ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+                final String brokerUrl = LegacyEmbeddedBroker.createBrokerUrl();
+                ConnectionFactory connectionFactory = createConnectionFactory(brokerUrl, null);
+
                 JmsComponent jms = jmsComponentAutoAcknowledge(connectionFactory);
                 jms.getConfiguration().setReplyToDestinationSelectorName(REPLY_TO_DESTINATION_SELECTOR_NAME);
                 jms.getConfiguration().setUseMessageIDAsCorrelationID(false);
@@ -181,7 +195,8 @@ public class JmsRouteRequestReplyTest extends CamelTestSupport {
             };
 
             ContextBuilder contextBuilderCorrelationIDDiffComp = context -> {
-                ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+                final String brokerUrl = LegacyEmbeddedBroker.createBrokerUrl();
+                ConnectionFactory connectionFactory = createConnectionFactory(brokerUrl, null);
                 JmsComponent jms = jmsComponentAutoAcknowledge(connectionFactory);
                 jms.getConfiguration().setConcurrentConsumers(maxServerTasks);
                 context.addComponent(componentName, jms);
@@ -194,7 +209,8 @@ public class JmsRouteRequestReplyTest extends CamelTestSupport {
             };
 
             ContextBuilder contextBuilderMessageIDDiffComp = context -> {
-                ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+                final String brokerUrl = LegacyEmbeddedBroker.createBrokerUrl();
+                ConnectionFactory connectionFactory = createConnectionFactory(brokerUrl, null);
                 JmsComponent jms = jmsComponentAutoAcknowledge(connectionFactory);
                 jms.getConfiguration().setUseMessageIDAsCorrelationID(true);
                 jms.getConfiguration().setConcurrentConsumers(maxServerTasks);
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteTest.java
index e99dd771a39..6ff73afc122 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteTest.java
@@ -21,13 +21,13 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsRouteTest extends CamelTestSupport {
+public class JmsRouteTest extends AbstractJMSTest {
     protected MockEndpoint resultEndpoint;
     protected String componentName = "activemq";
     protected String startEndpointUri;
@@ -63,7 +63,7 @@ public class JmsRouteTest extends CamelTestSupport {
     @Override
     @BeforeEach
     public void setUp() throws Exception {
-        startEndpointUri = componentName + ":queue:test.a";
+        startEndpointUri = componentName + ":queue:test.a.JmsRouteTest";
 
         super.setUp();
 
@@ -74,7 +74,8 @@ public class JmsRouteTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
@@ -84,8 +85,8 @@ public class JmsRouteTest extends CamelTestSupport {
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                from(startEndpointUri).to(componentName + ":queue:test.b");
-                from(componentName + ":queue:test.b").to("mock:result");
+                from(startEndpointUri).to(componentName + ":queue:test.b.JmsRouteTest");
+                from(componentName + ":queue:test.b.JmsRouteTest").to("mock:result");
             }
         };
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteTimeoutCheckerIntervalTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteTimeoutCheckerIntervalTest.java
index ed577a59890..01deaf4a75b 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteTimeoutCheckerIntervalTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteTimeoutCheckerIntervalTest.java
@@ -22,10 +22,10 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.ExchangeTimedOutException;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.junit.jupiter.api.Assertions.fail;
@@ -33,7 +33,7 @@ import static org.junit.jupiter.api.Assertions.fail;
 /**
  * Unit test for testing request timeout with a InOut exchange.
  */
-public class JmsRouteTimeoutCheckerIntervalTest extends CamelTestSupport {
+public class JmsRouteTimeoutCheckerIntervalTest extends AbstractJMSTest {
 
     @Test
     public void testTimeout() {
@@ -59,7 +59,8 @@ public class JmsRouteTimeoutCheckerIntervalTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         JmsComponent activmq = jmsComponentAutoAcknowledge(connectionFactory);
         // check 4 times per second
         activmq.getConfiguration().setRequestTimeoutCheckerInterval(250);
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteTimeoutTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteTimeoutTest.java
index 349f70dc7f5..0bb9b8f2315 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteTimeoutTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteTimeoutTest.java
@@ -22,10 +22,10 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.ExchangeTimedOutException;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.junit.jupiter.api.Assertions.fail;
@@ -33,7 +33,7 @@ import static org.junit.jupiter.api.Assertions.fail;
 /**
  * Unit test for testing request timeout with a InOut exchange.
  */
-public class JmsRouteTimeoutTest extends CamelTestSupport {
+public class JmsRouteTimeoutTest extends AbstractJMSTest {
 
     @Test
     public void testTimeout() {
@@ -59,7 +59,8 @@ public class JmsRouteTimeoutTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteToFileTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteToFileTest.java
index 2cc4005c934..064fc8386ce 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteToFileTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteToFileTest.java
@@ -24,10 +24,10 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.converter.IOConverter;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.apache.camel.test.junit5.TestSupport.deleteDirectory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -35,7 +35,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 /**
  * Unit test that we can consume JMS message and store it as file (to avoid regression bug)
  */
-public class JmsRouteToFileTest extends CamelTestSupport {
+public class JmsRouteToFileTest extends AbstractJMSTest {
 
     protected String componentName = "activemq";
 
@@ -64,7 +64,8 @@ public class JmsRouteToFileTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteUsingDifferentHeadersTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteUsingDifferentHeadersTest.java
index 03d01240504..e7562cb0115 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteUsingDifferentHeadersTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteUsingDifferentHeadersTest.java
@@ -24,12 +24,12 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsRouteUsingDifferentHeadersTest extends CamelTestSupport {
+public class JmsRouteUsingDifferentHeadersTest extends AbstractJMSTest {
 
     @Test
     public void testUsingDifferentHeaderTypes() throws Exception {
@@ -63,7 +63,8 @@ public class JmsRouteUsingDifferentHeadersTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteUsingJMSXGroupTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteUsingJMSXGroupTest.java
index 60b0e79936d..56c7216faab 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteUsingJMSXGroupTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteUsingJMSXGroupTest.java
@@ -23,14 +23,14 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
 import static org.apache.camel.component.jms.JmsConstants.JMS_X_GROUP_ID;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.apache.camel.test.junit5.TestSupport.body;
 
-public class JmsRouteUsingJMSXGroupTest extends CamelTestSupport {
+public class JmsRouteUsingJMSXGroupTest extends AbstractJMSTest {
 
     @Test
     public void testNoConcurrentProducersJMSXGroupID() throws Exception {
@@ -65,7 +65,8 @@ public class JmsRouteUsingJMSXGroupTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("jms", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteUsingSpringAndJmsNameTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteUsingSpringAndJmsNameTest.java
index 7426144eb6b..235278fe347 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteUsingSpringAndJmsNameTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteUsingSpringAndJmsNameTest.java
@@ -17,8 +17,10 @@
 package org.apache.camel.component.jms;
 
 import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.TestInstance;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 
+@TestInstance(TestInstance.Lifecycle.PER_METHOD)
 public class JmsRouteUsingSpringAndJmsNameTest extends JmsRouteUsingSpringTest {
 
     @Override
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteUsingSpringTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteUsingSpringTest.java
index 22ceef4b3a9..f8efcfdacd7 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteUsingSpringTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteUsingSpringTest.java
@@ -20,8 +20,10 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.spring.SpringCamelContext;
 import org.apache.camel.util.IOHelper;
 import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.TestInstance;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 
+@TestInstance(TestInstance.Lifecycle.PER_METHOD)
 public class JmsRouteUsingSpringTest extends JmsRouteTest {
     private ClassPathXmlApplicationContext applicationContext;
 
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteWithCustomListenerContainerTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteWithCustomListenerContainerTest.java
index c18734456c8..e582af09c8b 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteWithCustomListenerContainerTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteWithCustomListenerContainerTest.java
@@ -23,19 +23,19 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 import org.springframework.jms.listener.AbstractMessageListenerContainer;
 import org.springframework.jms.listener.DefaultMessageListenerContainer;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.apache.camel.test.junit5.TestSupport.assertIsInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * Unit test inspired by user forum
  */
-public class JmsRouteWithCustomListenerContainerTest extends CamelTestSupport {
+public class JmsRouteWithCustomListenerContainerTest extends AbstractJMSTest {
 
     protected String componentName = "activemq";
 
@@ -73,7 +73,8 @@ public class JmsRouteWithCustomListenerContainerTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteWithDefaultKeyFormatStrategyTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteWithDefaultKeyFormatStrategyTest.java
index eac65dfebae..d696954ec62 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteWithDefaultKeyFormatStrategyTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteWithDefaultKeyFormatStrategyTest.java
@@ -25,13 +25,13 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.ResolveEndpointFailedException;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.fail;
 
-public class JmsRouteWithDefaultKeyFormatStrategyTest extends CamelTestSupport {
+public class JmsRouteWithDefaultKeyFormatStrategyTest extends AbstractJMSTest {
 
     protected String getUri() {
         return "activemq:queue:foo?jmsKeyFormatStrategy=default";
@@ -90,7 +90,8 @@ public class JmsRouteWithDefaultKeyFormatStrategyTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteWithInOnlyAndMultipleAcksTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteWithInOnlyAndMultipleAcksTest.java
index 8d0dc59da80..1c50ace3e9d 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteWithInOnlyAndMultipleAcksTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteWithInOnlyAndMultipleAcksTest.java
@@ -23,13 +23,13 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsRouteWithInOnlyAndMultipleAcksTest extends CamelTestSupport {
+public class JmsRouteWithInOnlyAndMultipleAcksTest extends AbstractJMSTest {
 
     protected String componentName = "amq";
 
@@ -65,7 +65,8 @@ public class JmsRouteWithInOnlyAndMultipleAcksTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteWithInOnlyTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteWithInOnlyTest.java
index f190174eb55..ffd17180ae2 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteWithInOnlyTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteWithInOnlyTest.java
@@ -23,16 +23,16 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * Unit test inspired by user forum
  */
-public class JmsRouteWithInOnlyTest extends CamelTestSupport {
+public class JmsRouteWithInOnlyTest extends AbstractJMSTest {
 
     protected String componentName = "activemq";
 
@@ -61,7 +61,8 @@ public class JmsRouteWithInOnlyTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRoutingSlipInOutTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRoutingSlipInOutTest.java
index 590219816cd..c6d3796bab4 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRoutingSlipInOutTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRoutingSlipInOutTest.java
@@ -25,15 +25,15 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.Headers;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
 /**
  *
  */
-public class JmsRoutingSlipInOutTest extends CamelTestSupport {
+public class JmsRoutingSlipInOutTest extends AbstractJMSTest {
 
     @BindToRegistry("myBean")
     private final MyBean bean = new MyBean();
@@ -51,7 +51,8 @@ public class JmsRoutingSlipInOutTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRoutingSlipTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRoutingSlipTest.java
index b67603b8963..2de229a646d 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRoutingSlipTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRoutingSlipTest.java
@@ -20,15 +20,15 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
 /**
  * Unit test from JMS -> routing slip
  */
-public class JmsRoutingSlipTest extends CamelTestSupport {
+public class JmsRoutingSlipTest extends AbstractJMSTest {
 
     protected String componentName = "activemq";
 
@@ -46,7 +46,8 @@ public class JmsRoutingSlipTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSelectorInTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSelectorInTest.java
index 1150fc6095d..3a33be91c44 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSelectorInTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSelectorInTest.java
@@ -21,13 +21,13 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsSelectorInTest extends CamelTestSupport {
+public class JmsSelectorInTest extends AbstractJMSTest {
 
     @Test
     public void testJmsSelectorIn() throws Exception {
@@ -49,7 +49,8 @@ public class JmsSelectorInTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         JmsComponent component = jmsComponentAutoAcknowledge(connectionFactory);
         camelContext.addComponent("activemq", component);
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSelectorOptionTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSelectorOptionTest.java
index 5c4f3321437..ea960e53f9c 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSelectorOptionTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSelectorOptionTest.java
@@ -23,14 +23,14 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-public class JmsSelectorOptionTest extends CamelTestSupport {
+public class JmsSelectorOptionTest extends AbstractJMSTest {
 
     protected String componentName = "activemq";
 
@@ -83,7 +83,8 @@ public class JmsSelectorOptionTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSelectorTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSelectorTest.java
index c2995e7c4de..5bb64c3051b 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSelectorTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSelectorTest.java
@@ -21,12 +21,12 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentTransacted;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsSelectorTest extends CamelTestSupport {
+public class JmsSelectorTest extends AbstractJMSTest {
 
     @Test
     public void testJmsSelector() throws Exception {
@@ -47,7 +47,8 @@ public class JmsSelectorTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         JmsComponent component = jmsComponentTransacted(connectionFactory);
         camelContext.addComponent("activemq", component);
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSessionTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSessionTest.java
index 126836bca6d..4cefae604f5 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSessionTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSessionTest.java
@@ -22,13 +22,13 @@ import javax.jms.Session;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
-public class JmsSessionTest extends CamelTestSupport {
+public class JmsSessionTest extends AbstractJMSTest {
 
     protected String componentName = "activemq";
 
@@ -37,7 +37,7 @@ public class JmsSessionTest extends CamelTestSupport {
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(1);
 
-        template.sendBody("activemq:queue:foo", "Hello World");
+        template.sendBody("activemq:queue:fooJmsSessionTest", "Hello World");
 
         assertMockEndpointsSatisfied();
     }
@@ -46,7 +46,8 @@ public class JmsSessionTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
@@ -57,7 +58,7 @@ public class JmsSessionTest extends CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
-                from("activemq:queue:foo")
+                from("activemq:queue:fooJmsSessionTest")
                         .process(exchange -> {
                             JmsMessage jms = exchange.getIn(JmsMessage.class);
                             assertNotNull(jms);
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleHeaderTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleHeaderTest.java
index 30cc5bfc618..42a0fb5df05 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleHeaderTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleHeaderTest.java
@@ -21,12 +21,12 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsSimpleHeaderTest extends CamelTestSupport {
+public class JmsSimpleHeaderTest extends AbstractJMSTest {
 
     protected String componentName = "activemq";
 
@@ -36,7 +36,7 @@ public class JmsSimpleHeaderTest extends CamelTestSupport {
         mock.expectedMessageCount(1);
         mock.message(0).header("data").isEqualTo((byte) 40);
 
-        template.sendBodyAndHeader("activemq:queue:foo", "Hello World", "data", (byte) 40);
+        template.sendBodyAndHeader("activemq:queue:JmsSimpleHeaderTest", "Hello World", "data", (byte) 40);
 
         assertMockEndpointsSatisfied();
     }
@@ -47,7 +47,7 @@ public class JmsSimpleHeaderTest extends CamelTestSupport {
         mock.expectedMessageCount(1);
         mock.message(0).header("data").isEqualTo('A');
 
-        template.sendBodyAndHeader("activemq:queue:foo", "Hello World", "data", 'A');
+        template.sendBodyAndHeader("activemq:queue:JmsSimpleHeaderTest", "Hello World", "data", 'A');
 
         assertMockEndpointsSatisfied();
     }
@@ -60,7 +60,7 @@ public class JmsSimpleHeaderTest extends CamelTestSupport {
         mock.expectedMessageCount(1);
         mock.message(0).header("data").isEqualTo(cs);
 
-        template.sendBodyAndHeader("activemq:queue:foo", "Hello World", "data", cs);
+        template.sendBodyAndHeader("activemq:queue:JmsSimpleHeaderTest", "Hello World", "data", cs);
 
         assertMockEndpointsSatisfied();
     }
@@ -69,7 +69,8 @@ public class JmsSimpleHeaderTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
@@ -80,7 +81,7 @@ public class JmsSimpleHeaderTest extends CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
-                from("activemq:queue:foo").to("mock:result");
+                from("activemq:queue:JmsSimpleHeaderTest").to("mock:result");
             }
         };
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleInOnlyNoMutateTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleInOnlyNoMutateTest.java
index 4c99bbedc3a..8cbb766c2f8 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleInOnlyNoMutateTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleInOnlyNoMutateTest.java
@@ -21,15 +21,15 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
 /**
  * A simple in only test that does not mutate the message
  */
-public class JmsSimpleInOnlyNoMutateTest extends CamelTestSupport {
+public class JmsSimpleInOnlyNoMutateTest extends AbstractJMSTest {
 
     protected String componentName = "activemq";
 
@@ -40,7 +40,7 @@ public class JmsSimpleInOnlyNoMutateTest extends CamelTestSupport {
         result.expectedBodiesReceived("Hello World");
         result.expectedHeaderReceived("foo", 123);
 
-        template.send("activemq:queue:hello", exchange -> {
+        template.send("activemq:queue:helloJmsSimpleInOnlyNoMutateTest", exchange -> {
             exchange.getIn().setBody("Hello World");
             exchange.getIn().setHeader("foo", 123);
         });
@@ -52,7 +52,8 @@ public class JmsSimpleInOnlyNoMutateTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
@@ -62,7 +63,7 @@ public class JmsSimpleInOnlyNoMutateTest extends CamelTestSupport {
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                from("activemq:queue:hello").to("log:foo").to("mock:result");
+                from("activemq:queue:helloJmsSimpleInOnlyNoMutateTest").to("log:foo").to("mock:result");
             }
         };
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestCustomReplyToTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestCustomReplyToTest.java
index d98d172a1ee..75cce922ab9 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestCustomReplyToTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestCustomReplyToTest.java
@@ -27,19 +27,19 @@ import org.apache.camel.Exchange;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 /**
  * A simple request/reply using custom reply to header.
  */
-public class JmsSimpleRequestCustomReplyToTest extends CamelTestSupport {
+public class JmsSimpleRequestCustomReplyToTest extends AbstractJMSTest {
 
     private static final Logger LOG = LoggerFactory.getLogger(JmsSimpleRequestCustomReplyToTest.class);
     private static String myReplyTo;
@@ -111,7 +111,8 @@ public class JmsSimpleRequestCustomReplyToTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         JmsComponent jms = camelContext.getComponent("activemq", JmsComponent.class);
         // as this is a unit test I dont want to wait 20 sec before timeout occurs, so we use 10
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestLateReplyTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestLateReplyTest.java
index b986344ea11..a520035ba33 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestLateReplyTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestLateReplyTest.java
@@ -28,18 +28,18 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.Message;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * A simple request / late reply test.
  */
-public class JmsSimpleRequestLateReplyTest extends CamelTestSupport {
+public class JmsSimpleRequestLateReplyTest extends AbstractJMSTest {
 
     private static final Logger LOG = LoggerFactory.getLogger(JmsSimpleRequestLateReplyTest.class);
     private static Destination replyDestination;
@@ -94,7 +94,8 @@ public class JmsSimpleRequestLateReplyTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         activeMQComponent = camelContext.getComponent("activemq", JmsComponent.class);
         // as this is a unit test I dont want to wait 20 sec before timeout occurs, so we use 10
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReply2Test.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReply2Test.java
index 57c1fb39669..d39734ec1b9 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReply2Test.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReply2Test.java
@@ -21,16 +21,16 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * A simple request / reply test
  */
-public class JmsSimpleRequestReply2Test extends CamelTestSupport {
+public class JmsSimpleRequestReply2Test extends AbstractJMSTest {
 
     protected String componentName = "activemq";
 
@@ -59,7 +59,8 @@ public class JmsSimpleRequestReply2Test extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReplyFixedReplyQueueTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReplyFixedReplyQueueTest.java
index c8c65281565..aa95787d922 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReplyFixedReplyQueueTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReplyFixedReplyQueueTest.java
@@ -21,16 +21,16 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * A simple request / reply test
  */
-public class JmsSimpleRequestReplyFixedReplyQueueTest extends CamelTestSupport {
+public class JmsSimpleRequestReplyFixedReplyQueueTest extends AbstractJMSTest {
 
     protected String componentName = "activemq";
 
@@ -59,7 +59,8 @@ public class JmsSimpleRequestReplyFixedReplyQueueTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReplyTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReplyTest.java
index 2aa0a6a0c6a..42c61b7dc49 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReplyTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReplyTest.java
@@ -23,17 +23,17 @@ import org.apache.camel.Exchange;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 /**
  * A simple request / reply test
  */
-public class JmsSimpleRequestReplyTest extends CamelTestSupport {
+public class JmsSimpleRequestReplyTest extends AbstractJMSTest {
 
     protected String componentName = "activemq";
 
@@ -70,7 +70,8 @@ public class JmsSimpleRequestReplyTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSplitterParallelChainedTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSplitterParallelChainedTest.java
index 9b84d272e76..5a20b302cfd 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSplitterParallelChainedTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSplitterParallelChainedTest.java
@@ -21,22 +21,22 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
 /**
  * Test that chained request/reply over JMS works in parallel mode with the splitter EIP.
  */
-public class JmsSplitterParallelChainedTest extends CamelTestSupport {
+public class JmsSplitterParallelChainedTest extends AbstractJMSTest {
 
     protected String getUri() {
-        return "activemq:queue:foo";
+        return "activemq:queue:fooJmsSplitterParallelChainedTest";
     }
 
     protected String getUri2() {
-        return "activemq:queue:bar";
+        return "activemq:queue:barJmsSplitterParallelChainedTest";
     }
 
     @Test
@@ -57,7 +57,8 @@ public class JmsSplitterParallelChainedTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSplitterParallelTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSplitterParallelTest.java
index 6f56ea99e6b..446d3c1c5a2 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSplitterParallelTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSplitterParallelTest.java
@@ -21,12 +21,12 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsSplitterParallelTest extends CamelTestSupport {
+public class JmsSplitterParallelTest extends AbstractJMSTest {
 
     protected String getUri() {
         return "activemq:queue:foo?useMessageIDAsCorrelationID=true";
@@ -47,7 +47,8 @@ public class JmsSplitterParallelTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsStreamMessageTypeNoStreamCachingTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsStreamMessageTypeNoStreamCachingTest.java
index fcab79e2c8b..2b52d9902ea 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsStreamMessageTypeNoStreamCachingTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsStreamMessageTypeNoStreamCachingTest.java
@@ -22,22 +22,22 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.apache.camel.util.FileUtil;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.apache.camel.test.junit5.TestSupport.assertIsInstanceOf;
 import static org.apache.camel.test.junit5.TestSupport.deleteDirectory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsStreamMessageTypeNoStreamCachingTest extends CamelTestSupport {
+public class JmsStreamMessageTypeNoStreamCachingTest extends AbstractJMSTest {
 
     @Override
     @BeforeEach
     public void setUp() throws Exception {
-        deleteDirectory("target/nostream");
+        deleteDirectory("target/stream/JmsStreamMessageTypeNoStreamCachingTest");
         super.setUp();
     }
 
@@ -46,7 +46,7 @@ public class JmsStreamMessageTypeNoStreamCachingTest extends CamelTestSupport {
         CamelContext camelContext = super.createCamelContext();
         camelContext.setStreamCaching(false);
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory = createConnectionFactory(service);
         JmsComponent jms = jmsComponentAutoAcknowledge(connectionFactory);
         jms.getConfiguration().setStreamMessageTypeEnabled(true); // turn on streaming
         camelContext.addComponent("jms", jms);
@@ -55,14 +55,15 @@ public class JmsStreamMessageTypeNoStreamCachingTest extends CamelTestSupport {
 
     @Test
     public void testStreamType() throws Exception {
-        getMockEndpoint("mock:result").expectedMessageCount(1);
+        getMockEndpoint("mock:resultJmsStreamMessageTypeNoStreamCachingTest").expectedMessageCount(1);
 
         // copy the file
         FileUtil.copyFile(new File("src/test/data/message1.xml"), new File("target/stream/in/message1.xml"));
 
         assertMockEndpointsSatisfied();
 
-        Object body = getMockEndpoint("mock:result").getReceivedExchanges().get(0).getIn().getBody();
+        Object body = getMockEndpoint("mock:resultJmsStreamMessageTypeNoStreamCachingTest").getReceivedExchanges().get(0)
+                .getIn().getBody();
         StreamMessageInputStream is = assertIsInstanceOf(StreamMessageInputStream.class, body);
 
         // no more bytes should be available on the inputstream
@@ -71,20 +72,22 @@ public class JmsStreamMessageTypeNoStreamCachingTest extends CamelTestSupport {
         // assert on the content of input versus output file
         String srcContent = context.getTypeConverter().mandatoryConvertTo(String.class, new File("src/test/data/message1.xml"));
         String dstContent
-                = context.getTypeConverter().mandatoryConvertTo(String.class, new File("target/stream/out/message1.xml"));
+                = context.getTypeConverter().mandatoryConvertTo(String.class,
+                        new File("target/stream/JmsStreamMessageTypeNoStreamCachingTest/out/message1.xml"));
         assertEquals(srcContent, dstContent, "both the source and destination files should have the same content");
     }
 
     @Test
     public void testStreamTypeWithBigFile() throws Exception {
-        getMockEndpoint("mock:result").expectedMessageCount(1);
+        getMockEndpoint("mock:resultJmsStreamMessageTypeNoStreamCachingTest").expectedMessageCount(1);
 
         // copy the file
         FileUtil.copyFile(new File("src/test/data/message1.txt"), new File("target/stream/in/message1.txt"));
 
         assertMockEndpointsSatisfied();
 
-        Object body = getMockEndpoint("mock:result").getReceivedExchanges().get(0).getIn().getBody();
+        Object body = getMockEndpoint("mock:resultJmsStreamMessageTypeNoStreamCachingTest").getReceivedExchanges().get(0)
+                .getIn().getBody();
         StreamMessageInputStream is = assertIsInstanceOf(StreamMessageInputStream.class, body);
 
         // no more bytes should be available on the inputstream
@@ -93,7 +96,8 @@ public class JmsStreamMessageTypeNoStreamCachingTest extends CamelTestSupport {
         // assert on the content of input versus output file
         String srcContent = context.getTypeConverter().mandatoryConvertTo(String.class, new File("src/test/data/message1.txt"));
         String dstContent
-                = context.getTypeConverter().mandatoryConvertTo(String.class, new File("target/stream/out/message1.txt"));
+                = context.getTypeConverter().mandatoryConvertTo(String.class,
+                        new File("target/stream/JmsStreamMessageTypeNoStreamCachingTest/out/message1.txt"));
         assertEquals(srcContent, dstContent, "both the source and destination files should have the same content");
     }
 
@@ -102,9 +106,11 @@ public class JmsStreamMessageTypeNoStreamCachingTest extends CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
-                from("file:target/stream/in").to("jms:queue:foo");
+                from("file:target/stream/in").to("jms:queue:JmsStreamMessageTypeNoStreamCachingTest");
 
-                from("jms:queue:foo").to("file:target/stream/out").to("mock:result");
+                from("jms:queue:JmsStreamMessageTypeNoStreamCachingTest")
+                        .to("file:target/stream/JmsStreamMessageTypeNoStreamCachingTest/out")
+                        .to("mock:resultJmsStreamMessageTypeNoStreamCachingTest");
             }
         };
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsStreamMessageTypeTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsStreamMessageTypeTest.java
index c68d6db8c8d..53d858001ac 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsStreamMessageTypeTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsStreamMessageTypeTest.java
@@ -23,22 +23,24 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.apache.camel.util.FileUtil;
 import org.junit.jupiter.api.BeforeEach;
 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.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.apache.camel.test.junit5.TestSupport.assertIsInstanceOf;
 import static org.apache.camel.test.junit5.TestSupport.deleteDirectory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsStreamMessageTypeTest extends CamelTestSupport {
+@TestInstance(TestInstance.Lifecycle.PER_METHOD)
+public class JmsStreamMessageTypeTest extends AbstractJMSTest {
 
     @Override
     @BeforeEach
     public void setUp() throws Exception {
-        deleteDirectory("target/stream");
+        deleteDirectory("target/stream/JmsStreamMessageTypeTest");
         super.setUp();
     }
 
@@ -46,7 +48,8 @@ public class JmsStreamMessageTypeTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         JmsComponent jms = jmsComponentAutoAcknowledge(connectionFactory);
         jms.getConfiguration().setStreamMessageTypeEnabled(true); // turn on streaming
         camelContext.addComponent("jms", jms);
@@ -68,7 +71,8 @@ public class JmsStreamMessageTypeTest extends CamelTestSupport {
         // assert on the content of input versus output file
         String srcContent = context.getTypeConverter().mandatoryConvertTo(String.class, new File("src/test/data/message1.xml"));
         String dstContent
-                = context.getTypeConverter().mandatoryConvertTo(String.class, new File("target/stream/out/message1.xml"));
+                = context.getTypeConverter().mandatoryConvertTo(String.class,
+                        new File("target/stream/JmsStreamMessageTypeTest/out/message1.xml"));
         assertEquals(srcContent, dstContent, "both the source and destination files should have the same content");
     }
 
@@ -87,7 +91,8 @@ public class JmsStreamMessageTypeTest extends CamelTestSupport {
         // assert on the content of input versus output file
         String srcContent = context.getTypeConverter().mandatoryConvertTo(String.class, new File("src/test/data/message1.txt"));
         String dstContent
-                = context.getTypeConverter().mandatoryConvertTo(String.class, new File("target/stream/out/message1.txt"));
+                = context.getTypeConverter().mandatoryConvertTo(String.class,
+                        new File("target/stream/JmsStreamMessageTypeTest/out/message1.txt"));
         assertEquals(srcContent, dstContent, "both the source and destination files should have the same content");
     }
 
@@ -96,9 +101,10 @@ public class JmsStreamMessageTypeTest extends CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
-                from("file:target/stream/in").to("jms:queue:foo");
+                from("file:target/stream/in").to("jms:queue:JmsStreamMessageTypeTest");
 
-                from("jms:queue:foo").to("file:target/stream/out").to("mock:result");
+                from("jms:queue:JmsStreamMessageTypeTest").to("file:target/stream/JmsStreamMessageTypeTest/out")
+                        .to("mock:result");
             }
         };
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsToDTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsToDTest.java
index 0eaca34d2f2..3008d0b174d 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsToDTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsToDTest.java
@@ -20,20 +20,20 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsToDTest extends CamelTestSupport {
+public class JmsToDTest extends AbstractJMSTest {
 
     @Test
     public void testToD() throws Exception {
-        getMockEndpoint("mock:bar").expectedBodiesReceived("Hello bar");
-        getMockEndpoint("mock:beer").expectedBodiesReceived("Hello beer");
+        getMockEndpoint("mock:JmsToDTest.bar").expectedBodiesReceived("Hello bar");
+        getMockEndpoint("mock:JmsToDTest.beer").expectedBodiesReceived("Hello beer");
 
-        template.sendBodyAndHeader("direct:start", "Hello bar", "where", "bar");
-        template.sendBodyAndHeader("direct:start", "Hello beer", "where", "beer");
+        template.sendBodyAndHeader("direct:start", "Hello bar", "where", "JmsToDTest.bar");
+        template.sendBodyAndHeader("direct:start", "Hello beer", "where", "JmsToDTest.beer");
 
         assertMockEndpointsSatisfied();
     }
@@ -42,7 +42,8 @@ public class JmsToDTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
@@ -56,8 +57,8 @@ public class JmsToDTest extends CamelTestSupport {
                 // route message dynamic using toD
                 from("direct:start").toD("activemq:queue:${header.where}");
 
-                from("activemq:queue:bar").to("mock:bar");
-                from("activemq:queue:beer").to("mock:beer");
+                from("activemq:queue:JmsToDTest.bar").to("mock:JmsToDTest.bar");
+                from("activemq:queue:JmsToDTest.beer").to("mock:JmsToDTest.beer");
             }
         };
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsToTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsToTest.java
index af4c4223add..92a5dd04df1 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsToTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsToTest.java
@@ -20,21 +20,21 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsToTest extends CamelTestSupport {
+public class JmsToTest extends AbstractJMSTest {
 
     @Test
     public void testTo() throws Exception {
-        getMockEndpoint("mock:bar").expectedMessageCount(0);
-        getMockEndpoint("mock:beer").expectedMessageCount(0);
+        getMockEndpoint("mock:JmsToTest.bar").expectedMessageCount(0);
+        getMockEndpoint("mock:JmsToTest.beer").expectedMessageCount(0);
         getMockEndpoint("mock:where").expectedMessageCount(2);
 
-        template.sendBodyAndHeader("direct:start", "Hello bar", "where", "bar");
-        template.sendBodyAndHeader("direct:start", "Hello beer", "where", "beer");
+        template.sendBodyAndHeader("direct:start", "Hello bar", "where", "JmsToTest.bar");
+        template.sendBodyAndHeader("direct:start", "Hello beer", "where", "JmsToTest.beer");
 
         assertMockEndpointsSatisfied();
     }
@@ -43,7 +43,8 @@ public class JmsToTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
@@ -57,8 +58,8 @@ public class JmsToTest extends CamelTestSupport {
                 // wrongly using to instead of toD
                 from("direct:start").to("activemq:queue:${header.where}");
 
-                from("activemq:queue:bar").to("mock:bar");
-                from("activemq:queue:beer").to("mock:beer");
+                from("activemq:queue:JmsToTest.bar").to("mock:JmsToTest.bar");
+                from("activemq:queue:JmsToTest.beer").to("mock:JmsToTest.beer");
 
                 // and all the messages goes here
                 from("activemq:queue:${header.where}").to("mock:where");
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsTransactedRouteTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsTransactedRouteTest.java
index aa30ae0c408..f4422998923 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsTransactedRouteTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsTransactedRouteTest.java
@@ -21,12 +21,12 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentTransacted;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsTransactedRouteTest extends CamelTestSupport {
+public class JmsTransactedRouteTest extends AbstractJMSTest {
 
     @Test
     public void testJmsRouteWithTextMessage() throws Exception {
@@ -37,8 +37,8 @@ public class JmsTransactedRouteTest extends CamelTestSupport {
         resultEndpoint.expectedBodiesReceived(expectedBody, expectedBody2);
         resultEndpoint.message(0).header("cheese").isEqualTo(123);
 
-        template.sendBodyAndHeader("activemq:test.a", expectedBody, "cheese", 123);
-        template.sendBodyAndHeader("activemq:test.a", expectedBody2, "cheese", 124);
+        template.sendBodyAndHeader("activemq:test.a.JmsTransactedRouteTest", expectedBody, "cheese", 123);
+        template.sendBodyAndHeader("activemq:test.a.JmsTransactedRouteTest", expectedBody2, "cheese", 124);
 
         resultEndpoint.assertIsSatisfied();
     }
@@ -47,7 +47,8 @@ public class JmsTransactedRouteTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         JmsComponent component = jmsComponentTransacted(connectionFactory);
         camelContext.addComponent("activemq", component);
         return camelContext;
@@ -57,8 +58,8 @@ public class JmsTransactedRouteTest extends CamelTestSupport {
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                from("activemq:test.a").to("activemq:test.b");
-                from("activemq:test.b").to("log:result", "mock:result");
+                from("activemq:test.a.JmsTransactedRouteTest").to("activemq:test.b.JmsTransactedRouteTest");
+                from("activemq:test.b.JmsTransactedRouteTest").to("log:result", "mock:result");
             }
         };
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsTransferExceptionTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsTransferExceptionTest.java
index 62a4b37e9ec..3c6ac103299 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsTransferExceptionTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsTransferExceptionTest.java
@@ -21,16 +21,16 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 
-public class JmsTransferExceptionTest extends CamelTestSupport {
+public class JmsTransferExceptionTest extends AbstractJMSTest {
 
     private static int counter;
 
@@ -73,7 +73,8 @@ public class JmsTransferExceptionTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsTransferExchangeFromSplitterTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsTransferExchangeFromSplitterTest.java
index 12c3d46bff6..e13a0000389 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsTransferExchangeFromSplitterTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsTransferExchangeFromSplitterTest.java
@@ -21,12 +21,12 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsTransferExchangeFromSplitterTest extends CamelTestSupport {
+public class JmsTransferExchangeFromSplitterTest extends AbstractJMSTest {
 
     protected String getUri() {
         return "activemq:queue:foo?transferExchange=true";
@@ -51,7 +51,8 @@ public class JmsTransferExchangeFromSplitterTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsTransferExchangeTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsTransferExchangeTest.java
index fb4ff3514f5..bd7d3b9ebd8 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsTransferExchangeTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsTransferExchangeTest.java
@@ -21,12 +21,12 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsTransferExchangeTest extends CamelTestSupport {
+public class JmsTransferExchangeTest extends AbstractJMSTest {
 
     protected String getUri() {
         return "activemq:queue:foo?transferExchange=true";
@@ -76,7 +76,8 @@ public class JmsTransferExchangeTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsUseOriginalBodyTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsUseOriginalBodyTest.java
index c21166b96c1..70f5af8569f 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsUseOriginalBodyTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsUseOriginalBodyTest.java
@@ -23,16 +23,16 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * Unit test for useOriginalBody unit test
  */
-public class JmsUseOriginalBodyTest extends CamelTestSupport {
+public class JmsUseOriginalBodyTest extends AbstractJMSTest {
 
     @Test
     public void testUseOriginalBody() throws Exception {
@@ -98,7 +98,8 @@ public class JmsUseOriginalBodyTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsXMLRouteTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsXMLRouteTest.java
index 9aacbb2529f..05d2d2851d4 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsXMLRouteTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsXMLRouteTest.java
@@ -25,18 +25,18 @@ import javax.xml.transform.stream.StreamSource;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.apache.camel.util.xml.StringSource;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.apache.camel.test.junit5.TestSupport.assertIsInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 /**
  * For unit testing with XML streams that can be troublesome with the StreamCache
  */
-public class JmsXMLRouteTest extends CamelTestSupport {
+public class JmsXMLRouteTest extends AbstractJMSTest {
 
     private static final String TEST_LONDON = "src/test/data/message1.xml";
     private static final String TEST_TAMPA = "src/test/data/message2.xml";
@@ -189,7 +189,8 @@ public class JmsXMLRouteTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsXPathHeaderTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsXPathHeaderTest.java
index 7cf09bc8d41..44d54c47d92 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsXPathHeaderTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsXPathHeaderTest.java
@@ -20,15 +20,15 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
 /**
  * JMS with XPath
  */
-public class JmsXPathHeaderTest extends CamelTestSupport {
+public class JmsXPathHeaderTest extends AbstractJMSTest {
 
     @Test
     public void testTrue() throws Exception {
@@ -64,7 +64,8 @@ public class JmsXPathHeaderTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/ManagedJmsEndpointTopicTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/ManagedJmsEndpointTopicTest.java
index a6deb3560e7..53f3f9c3172 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/ManagedJmsEndpointTopicTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/ManagedJmsEndpointTopicTest.java
@@ -25,17 +25,17 @@ import javax.management.ObjectName;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  *
  */
-public class ManagedJmsEndpointTopicTest extends CamelTestSupport {
+public class ManagedJmsEndpointTopicTest extends AbstractJMSTest {
 
     @Override
     protected boolean useJmx() {
@@ -46,7 +46,8 @@ public class ManagedJmsEndpointTopicTest extends CamelTestSupport {
     protected CamelContext createCamelContext() {
         CamelContext context = new DefaultCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         context.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return context;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/ManagedJmsSelectorTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/ManagedJmsSelectorTest.java
index b9bfe83b0ce..68266f21241 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/ManagedJmsSelectorTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/ManagedJmsSelectorTest.java
@@ -26,6 +26,8 @@ import javax.management.ObjectName;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.impl.DefaultCamelContext;
+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.Test;
 
@@ -47,7 +49,9 @@ public class ManagedJmsSelectorTest extends CamelTestSupport {
     protected CamelContext createCamelContext() {
         CamelContext context = new DefaultCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        final String brokerUrl = LegacyEmbeddedBroker.createBrokerUrl();
+        final ConnectionFactory connectionFactory = ConnectionFactoryHelper.createConnectionFactory(brokerUrl, null);
+
         context.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return context;
@@ -73,8 +77,8 @@ public class ManagedJmsSelectorTest extends CamelTestSupport {
 
         getMockEndpoint("mock:result").expectedBodiesReceived("Carlsberg");
 
-        template.sendBodyAndHeader("activemq:queue:start", "Pepsi", "brand", "softdrink");
-        template.sendBodyAndHeader("activemq:queue:start", "Carlsberg", "brand", "beer");
+        template.sendBodyAndHeader("activemq:queue:startManagedJmsSelectorTest", "Pepsi", "brand", "softdrink");
+        template.sendBodyAndHeader("activemq:queue:startManagedJmsSelectorTest", "Carlsberg", "brand", "beer");
 
         assertMockEndpointsSatisfied();
 
@@ -89,8 +93,8 @@ public class ManagedJmsSelectorTest extends CamelTestSupport {
 
         getMockEndpoint("mock:result").expectedBodiesReceived("Pepsi");
 
-        template.sendBodyAndHeader("activemq:queue:start", "Pepsi", "brand", "softdrink");
-        template.sendBodyAndHeader("activemq:queue:start", "Carlsberg", "brand", "beer");
+        template.sendBodyAndHeader("activemq:queue:startManagedJmsSelectorTest", "Pepsi", "brand", "softdrink");
+        template.sendBodyAndHeader("activemq:queue:startManagedJmsSelectorTest", "Carlsberg", "brand", "beer");
 
         assertMockEndpointsSatisfied();
 
@@ -103,7 +107,8 @@ public class ManagedJmsSelectorTest extends CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
-                from("activemq:queue:start?cacheLevelName=CACHE_NONE&selector=brand='beer'").routeId("foo").to("log:foo")
+                from("activemq:queue:startManagedJmsSelectorTest?cacheLevelName=CACHE_NONE&selector=brand='beer'")
+                        .routeId("foo").to("log:foo")
                         .to("mock:result");
             }
         };
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/MapJmsMessageTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/MapJmsMessageTest.java
index 58cebe9aa04..e41a657a3e4 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/MapJmsMessageTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/MapJmsMessageTest.java
@@ -23,18 +23,19 @@ import javax.jms.TextMessage;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class MapJmsMessageTest extends CamelTestSupport {
+public class MapJmsMessageTest extends AbstractJMSTest {
 
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/MyDestinationResolver.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/MyDestinationResolver.java
index 6deab8f983e..264d3ad9e18 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/MyDestinationResolver.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/MyDestinationResolver.java
@@ -27,8 +27,8 @@ public class MyDestinationResolver implements DestinationResolver {
     @Override
     public Destination resolveDestinationName(Session session, String destinationName, boolean pubSubDomain)
             throws JMSException {
-        if ("logicalNameForTestBQueue".equals(destinationName)) {
-            return session.createQueue("test.b");
+        if ("JmsDestinationResolverTest.logicalNameForTestBQueue".equals(destinationName)) {
+            return session.createQueue("JmsDestinationResolverTest.b");
         } else {
             return session.createQueue(destinationName);
         }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/PayloadByteArrayJmsTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/PayloadByteArrayJmsTest.java
index d22bffa6460..f7284f7eed1 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/PayloadByteArrayJmsTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/PayloadByteArrayJmsTest.java
@@ -27,15 +27,15 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
 /**
  * Unit test that we send payload as byte[] for certain types
  */
-public class PayloadByteArrayJmsTest extends CamelTestSupport {
+public class PayloadByteArrayJmsTest extends AbstractJMSTest {
 
     protected String componentName = "activemq";
 
@@ -85,7 +85,8 @@ public class PayloadByteArrayJmsTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent(componentName, jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/ProduceMessageConverterTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/ProduceMessageConverterTest.java
index 0195cd4c568..4a1c0d01fbd 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/ProduceMessageConverterTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/ProduceMessageConverterTest.java
@@ -26,14 +26,14 @@ import org.apache.camel.BindToRegistry;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 import org.springframework.jms.support.converter.MessageConversionException;
 import org.springframework.jms.support.converter.MessageConverter;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class ProduceMessageConverterTest extends CamelTestSupport {
+public class ProduceMessageConverterTest extends AbstractJMSTest {
 
     @BindToRegistry("myMessageConverter")
     private final MyMessageConverter conv = new MyMessageConverter();
@@ -42,7 +42,8 @@ public class ProduceMessageConverterTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/ReplyToDestinationSelectorNameTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/ReplyToDestinationSelectorNameTest.java
index dfd1ca3e7fb..922d9bfeedc 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/ReplyToDestinationSelectorNameTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/ReplyToDestinationSelectorNameTest.java
@@ -21,16 +21,16 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  *
  */
-public class ReplyToDestinationSelectorNameTest extends CamelTestSupport {
+public class ReplyToDestinationSelectorNameTest extends AbstractJMSTest {
 
     @Test
     public void testReplyToDestinationSelectorName() throws Exception {
@@ -50,7 +50,8 @@ public class ReplyToDestinationSelectorNameTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         JmsComponent component = jmsComponentAutoAcknowledge(connectionFactory);
         camelContext.addComponent("activemq", component);
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/RequestReplyCorrelatedWithCustomHeaderTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/RequestReplyCorrelatedWithCustomHeaderTest.java
index 824368fb4c8..b17e09ff032 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/RequestReplyCorrelatedWithCustomHeaderTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/RequestReplyCorrelatedWithCustomHeaderTest.java
@@ -23,16 +23,16 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.Header;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-public class RequestReplyCorrelatedWithCustomHeaderTest extends CamelTestSupport {
+public class RequestReplyCorrelatedWithCustomHeaderTest extends AbstractJMSTest {
 
     public static void processRequest(
             @Body final String body,
@@ -64,7 +64,8 @@ public class RequestReplyCorrelatedWithCustomHeaderTest extends CamelTestSupport
     protected CamelContext createCamelContext() throws Exception {
         final CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
 
         final JmsComponent activeMq = jmsComponentAutoAcknowledge(connectionFactory);
         activeMq.getConfiguration().setCorrelationProperty("CustomCorrelation");
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/SimpleJmsRequestReplyExclusiveReplyToTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/SimpleJmsRequestReplyExclusiveReplyToTest.java
index 0b535d0b958..4965a7f7292 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/SimpleJmsRequestReplyExclusiveReplyToTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/SimpleJmsRequestReplyExclusiveReplyToTest.java
@@ -20,16 +20,16 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * Using exclusive fixed replyTo queues should be faster as there is no need for JMSMessage selectors.
  */
-public class SimpleJmsRequestReplyExclusiveReplyToTest extends CamelTestSupport {
+public class SimpleJmsRequestReplyExclusiveReplyToTest extends AbstractJMSTest {
 
     @Test
     public void testJmsRequestReplyExclusiveFixedReplyTo() {
@@ -48,7 +48,8 @@ public class SimpleJmsRequestReplyExclusiveReplyToTest extends CamelTestSupport
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/SimpleJmsRequestReplySharedReplyToTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/SimpleJmsRequestReplySharedReplyToTest.java
index 994cd70a03f..476690a1bea 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/SimpleJmsRequestReplySharedReplyToTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/SimpleJmsRequestReplySharedReplyToTest.java
@@ -20,13 +20,13 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class SimpleJmsRequestReplySharedReplyToTest extends CamelTestSupport {
+public class SimpleJmsRequestReplySharedReplyToTest extends AbstractJMSTest {
 
     @Test
     public void testJmsRequestReplySharedReplyTo() {
@@ -50,7 +50,8 @@ public class SimpleJmsRequestReplySharedReplyToTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/SimpleJmsRequestReplyTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/SimpleJmsRequestReplyTest.java
index c8032e66ee2..e21bcd13718 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/SimpleJmsRequestReplyTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/SimpleJmsRequestReplyTest.java
@@ -20,13 +20,13 @@ import javax.jms.ConnectionFactory;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class SimpleJmsRequestReplyTest extends CamelTestSupport {
+public class SimpleJmsRequestReplyTest extends AbstractJMSTest {
 
     @Test
     public void testJmsRequestReply() {
@@ -40,7 +40,8 @@ public class SimpleJmsRequestReplyTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/activemq/ActiveMQConsumeWildcardQueuesTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/activemq/ActiveMQConsumeWildcardQueuesTest.java
index 9a3b0550787..7b1ea0abd53 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/activemq/ActiveMQConsumeWildcardQueuesTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/activemq/ActiveMQConsumeWildcardQueuesTest.java
@@ -20,16 +20,16 @@ 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.junit5.CamelTestSupport;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
 /**
  * ActiveMQ specific unit test
  */
-public class ActiveMQConsumeWildcardQueuesTest extends CamelTestSupport {
+public class ActiveMQConsumeWildcardQueuesTest extends AbstractJMSTest {
 
     @Test
     public void testWildcard() throws Exception {
@@ -49,7 +49,8 @@ public class ActiveMQConsumeWildcardQueuesTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/async/AsyncConsumerFalseTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/async/AsyncConsumerFalseTest.java
index 5a6805cf1c4..3ede229300a 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/async/AsyncConsumerFalseTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/async/AsyncConsumerFalseTest.java
@@ -20,16 +20,16 @@ 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.junit5.CamelTestSupport;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
 /**
  *
  */
-public class AsyncConsumerFalseTest extends CamelTestSupport {
+public class AsyncConsumerFalseTest extends AbstractJMSTest {
 
     @Test
     public void testAsyncJmsConsumer() throws Exception {
@@ -48,7 +48,8 @@ public class AsyncConsumerFalseTest extends CamelTestSupport {
 
         camelContext.addComponent("async", new MyAsyncComponent());
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/async/AsyncConsumerInOutTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/async/AsyncConsumerInOutTest.java
index dea85857024..5d2273f7da8 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/async/AsyncConsumerInOutTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/async/AsyncConsumerInOutTest.java
@@ -21,16 +21,16 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
-import org.apache.camel.test.junit5.CamelTestSupport;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
 /**
  *
  */
-public class AsyncConsumerInOutTest extends CamelTestSupport {
+public class AsyncConsumerInOutTest extends AbstractJMSTest {
 
     @Test
     public void testAsyncJmsConsumer() throws Exception {
@@ -52,7 +52,8 @@ public class AsyncConsumerInOutTest extends CamelTestSupport {
 
         camelContext.addComponent("async", new MyAsyncComponent());
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/async/AsyncConsumerInOutTwoTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/async/AsyncConsumerInOutTwoTest.java
index 5d83738ad8d..acb1b59f3c2 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/async/AsyncConsumerInOutTwoTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/async/AsyncConsumerInOutTwoTest.java
@@ -20,17 +20,17 @@ 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.junit5.CamelTestSupport;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  *
  */
-public class AsyncConsumerInOutTwoTest extends CamelTestSupport {
+public class AsyncConsumerInOutTwoTest extends AbstractJMSTest {
 
     @Test
     public void testAsyncJmsConsumer() {
@@ -44,7 +44,8 @@ public class AsyncConsumerInOutTwoTest extends CamelTestSupport {
 
         camelContext.addComponent("async", new MyAsyncComponent());
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/async/AsyncConsumerTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/async/AsyncConsumerTest.java
index 918663adb9d..83604571e91 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/async/AsyncConsumerTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/async/AsyncConsumerTest.java
@@ -20,8 +20,7 @@ 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.junit5.CamelTestSupport;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
@@ -29,7 +28,7 @@ import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknow
 /**
  *
  */
-public class AsyncConsumerTest extends CamelTestSupport {
+public class AsyncConsumerTest extends AbstractJMSTest {
 
     @Test
     public void testAsyncJmsConsumer() throws Exception {
@@ -51,7 +50,8 @@ public class AsyncConsumerTest extends CamelTestSupport {
 
         camelContext.addComponent("async", new MyAsyncComponent());
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/async/AsyncJmsInOutTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/async/AsyncJmsInOutTest.java
index dadcaacfc92..08770ebb693 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/async/AsyncJmsInOutTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/async/AsyncJmsInOutTest.java
@@ -23,18 +23,18 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.apache.camel.util.StopWatch;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.apache.camel.test.junit5.TestSupport.body;
 
-public class AsyncJmsInOutTest extends CamelTestSupport {
+public class AsyncJmsInOutTest extends AbstractJMSTest {
 
     private static final Logger LOG = LoggerFactory.getLogger(AsyncJmsInOutTest.class);
 
@@ -42,7 +42,8 @@ public class AsyncJmsInOutTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/async/AsyncJmsProducerTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/async/AsyncJmsProducerTest.java
index 59bd9c9fa9a..0a94ec2af8c 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/async/AsyncJmsProducerTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/async/AsyncJmsProducerTest.java
@@ -20,15 +20,15 @@ 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.junit5.CamelTestSupport;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 
-public class AsyncJmsProducerTest extends CamelTestSupport {
+public class AsyncJmsProducerTest extends AbstractJMSTest {
 
     private static String beforeThreadName;
     private static String afterThreadName;
@@ -51,7 +51,8 @@ public class AsyncJmsProducerTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/discovery/JmsDiscoveryTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/discovery/JmsDiscoveryTest.java
index ce38d987a38..e413917f325 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/discovery/JmsDiscoveryTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/discovery/JmsDiscoveryTest.java
@@ -23,17 +23,17 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.ShutdownRoute;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.spi.Registry;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.awaitility.Awaitility;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.assertj.core.api.Assertions.assertThat;
 
-public class JmsDiscoveryTest extends CamelTestSupport {
+public class JmsDiscoveryTest extends AbstractJMSTest {
     protected MyRegistry myRegistry = new MyRegistry();
 
     @Test
@@ -55,7 +55,8 @@ public class JmsDiscoveryTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/ActiveMQPropagateHeadersTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/ActiveMQPropagateHeadersTest.java
index 76597c2d1a1..06526fca5cf 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/ActiveMQPropagateHeadersTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/ActiveMQPropagateHeadersTest.java
@@ -26,19 +26,19 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.apache.camel.component.mock.AssertionClause;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class ActiveMQPropagateHeadersTest extends CamelTestSupport {
+public class ActiveMQPropagateHeadersTest extends AbstractJMSTest {
 
     protected Object expectedBody = "<time>" + new Date() + "</time>";
-    protected ActiveMQQueue replyQueue = new ActiveMQQueue("test.reply.queue");
+    protected ActiveMQQueue replyQueue = new ActiveMQQueue("test.reply.queue.ActiveMQPropagateHeadersTest");
     protected String correlationID = "ABC-123";
     protected String messageType = getClass().getName();
 
@@ -53,7 +53,7 @@ public class ActiveMQPropagateHeadersTest extends CamelTestSupport {
         firstMessageExpectations.header("JMSCorrelationID").isEqualTo(correlationID);
         firstMessageExpectations.header("JMSType").isEqualTo(messageType);
 
-        template.sendBodyAndHeader("activemq:test.a", expectedBody, "cheese", 123);
+        template.sendBodyAndHeader("activemq:test.a.ActiveMQPropagateHeadersTest", expectedBody, "cheese", 123);
 
         resultEndpoint.assertIsSatisfied();
 
@@ -68,7 +68,8 @@ public class ActiveMQPropagateHeadersTest extends CamelTestSupport {
         CamelContext camelContext = super.createCamelContext();
 
         // START SNIPPET: example
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         // END SNIPPET: example
 
@@ -82,15 +83,15 @@ public class ActiveMQPropagateHeadersTest extends CamelTestSupport {
                 // must set option to preserve message QoS as we send an InOnly but put a JMSReplyTo
                 // that does not work well on the consumer side, as it would assume it should send a reply
                 // but we do not expect a reply as we are InOnly.
-                from("activemq:test.a").process(exchange -> {
+                from("activemq:test.a.ActiveMQPropagateHeadersTest").process(exchange -> {
                     // set the JMS headers
                     Message in = exchange.getIn();
                     in.setHeader("JMSReplyTo", replyQueue);
                     in.setHeader("JMSCorrelationID", correlationID);
                     in.setHeader("JMSType", messageType);
-                }).to("activemq:test.b?preserveMessageQos=true");
+                }).to("activemq:test.b.ActiveMQPropagateHeadersTest?preserveMessageQos=true");
 
-                from("activemq:test.b").to("mock:result");
+                from("activemq:test.b.ActiveMQPropagateHeadersTest").to("mock:result");
             }
         };
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/ActiveMQPropagateSerializableHeadersTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/ActiveMQPropagateSerializableHeadersTest.java
index 4edc5a0a5b9..d242d9dc3e7 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/ActiveMQPropagateSerializableHeadersTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/ActiveMQPropagateSerializableHeadersTest.java
@@ -29,20 +29,20 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.apache.camel.component.mock.AssertionClause;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class ActiveMQPropagateSerializableHeadersTest extends CamelTestSupport {
+public class ActiveMQPropagateSerializableHeadersTest extends AbstractJMSTest {
 
     protected Object expectedBody = "<time>" + new Date() + "</time>";
-    protected ActiveMQQueue replyQueue = new ActiveMQQueue("test.reply.queue");
+    protected ActiveMQQueue replyQueue = new ActiveMQQueue("ActiveMQPropagateSerializableHeadersTest.reply.queue");
     protected String correlationID = "ABC-123";
     protected String messageType = getClass().getName();
     private Calendar calValue;
@@ -66,7 +66,7 @@ public class ActiveMQPropagateSerializableHeadersTest extends CamelTestSupport {
         firstMessageExpectations.header("myCal").isEqualTo(calValue);
         firstMessageExpectations.header("myMap").isEqualTo(mapValue);
 
-        template.sendBody("activemq:test.a", expectedBody);
+        template.sendBody("activemq:ActiveMQPropagateSerializableHeadersTest.a", expectedBody);
 
         resultEndpoint.assertIsSatisfied();
 
@@ -91,7 +91,8 @@ public class ActiveMQPropagateSerializableHeadersTest extends CamelTestSupport {
         CamelContext camelContext = super.createCamelContext();
 
         // START SNIPPET: example
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         // END SNIPPET: example
 
@@ -105,15 +106,15 @@ public class ActiveMQPropagateSerializableHeadersTest extends CamelTestSupport {
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                from("activemq:test.a").process(exchange -> {
+                from("activemq:ActiveMQPropagateSerializableHeadersTest.a").process(exchange -> {
                     // set the JMS headers
                     Message in = exchange.getIn();
                     in.setHeader("myString", "stringValue");
                     in.setHeader("myMap", mapValue);
                     in.setHeader("myCal", calValue);
-                }).to("activemq:test.b?transferExchange=true&allowSerializedHeaders=true");
+                }).to("activemq:ActiveMQPropagateSerializableHeadersTest.b?transferExchange=true&allowSerializedHeaders=true");
 
-                from("activemq:test.b").to("mock:result");
+                from("activemq:ActiveMQPropagateSerializableHeadersTest.b").to("mock:result");
             }
         };
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/BruceHandlingBeanExceptionTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/BruceHandlingBeanExceptionTest.java
index e6df809d1b5..75deee40139 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/BruceHandlingBeanExceptionTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/BruceHandlingBeanExceptionTest.java
@@ -20,18 +20,18 @@ 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.junit5.CamelTestSupport;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.apache.camel.test.junit5.TestSupport.assertIsInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * Unit test for request-reply with jms where processing the input could cause: OK or Exception
  */
-public class BruceHandlingBeanExceptionTest extends CamelTestSupport {
+public class BruceHandlingBeanExceptionTest extends AbstractJMSTest {
 
     @Test
     public void testSendOK() {
@@ -50,7 +50,8 @@ public class BruceHandlingBeanExceptionTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/DynamicRoutersWithJMSMessageLostHeadersIssueTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/DynamicRoutersWithJMSMessageLostHeadersIssueTest.java
index 9b44e05db82..40801eeab20 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/DynamicRoutersWithJMSMessageLostHeadersIssueTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/DynamicRoutersWithJMSMessageLostHeadersIssueTest.java
@@ -22,18 +22,18 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.Header;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
-import org.apache.camel.test.junit5.CamelTestSupport;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.apache.camel.test.junit5.TestSupport.deleteDirectory;
 
 /**
  *
  */
-public class DynamicRoutersWithJMSMessageLostHeadersIssueTest extends CamelTestSupport {
+public class DynamicRoutersWithJMSMessageLostHeadersIssueTest extends AbstractJMSTest {
 
     @Override
     @BeforeEach
@@ -47,7 +47,8 @@ public class DynamicRoutersWithJMSMessageLostHeadersIssueTest extends CamelTestS
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsAnotherCustomJMSReplyToTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsAnotherCustomJMSReplyToTest.java
index 222dab60531..0b57f05a5b8 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsAnotherCustomJMSReplyToTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsAnotherCustomJMSReplyToTest.java
@@ -25,18 +25,18 @@ import javax.jms.TextMessage;
 import org.apache.camel.CamelContext;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.apache.camel.component.jms.JmsComponent;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.awaitility.Awaitility;
 import org.junit.jupiter.api.Test;
 import org.springframework.jms.core.JmsTemplate;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsAnotherCustomJMSReplyToTest extends CamelTestSupport {
+public class JmsAnotherCustomJMSReplyToTest extends AbstractJMSTest {
     private JmsComponent amq;
 
     @Test
@@ -86,7 +86,8 @@ public class JmsAnotherCustomJMSReplyToTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         amq = camelContext.getComponent("activemq", JmsComponent.class);
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsBeanMethodHeaderTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsBeanMethodHeaderTest.java
index d61fe9dcc06..214ab8aaa7c 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsBeanMethodHeaderTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsBeanMethodHeaderTest.java
@@ -24,17 +24,17 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
 /**
  * Unit test for sending the bean method name as a key over the JMS wire, that we now support this.
  */
-public class JmsBeanMethodHeaderTest extends CamelTestSupport {
+public class JmsBeanMethodHeaderTest extends AbstractJMSTest {
 
     @BindToRegistry("approveService")
     private final ApproveService service = new ApproveService();
@@ -99,7 +99,8 @@ public class JmsBeanMethodHeaderTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(super.service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsBlockedAsyncRoutingEngineTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsBlockedAsyncRoutingEngineTest.java
index c992f658720..1ae9ea69cf6 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsBlockedAsyncRoutingEngineTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsBlockedAsyncRoutingEngineTest.java
@@ -42,7 +42,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Tests CAMEL-5769. Camel JMS producer can block a thread under specific circumstances.
- *
  */
 public class JmsBlockedAsyncRoutingEngineTest extends CamelTestSupport {
 
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsChainedEndpointDelayTimeoutTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsChainedEndpointDelayTimeoutTest.java
index 92168a21121..1103d6ea7ad 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsChainedEndpointDelayTimeoutTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsChainedEndpointDelayTimeoutTest.java
@@ -22,17 +22,17 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.ExchangeTimedOutException;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
-import org.apache.camel.test.junit5.CamelTestSupport;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
 /**
  * Unit test to assert that timeouts don't trigger twice when JMS InOut endpoints are chained, and the second endpoint
  * takes longer to respond than the timeout set for the first endpoint.
  */
-public class JmsChainedEndpointDelayTimeoutTest extends CamelTestSupport {
+public class JmsChainedEndpointDelayTimeoutTest extends AbstractJMSTest {
 
     @Test
     public void testTimeoutNotTriggeredTempQueue() throws Exception {
@@ -53,7 +53,8 @@ public class JmsChainedEndpointDelayTimeoutTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsConcurrentConsumersTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsConcurrentConsumersTest.java
index a212776e6a2..816981fe3c0 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsConcurrentConsumersTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsConcurrentConsumersTest.java
@@ -24,19 +24,19 @@ 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.junit5.CamelTestSupport;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.junit.jupiter.api.Test;
 import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Concurrent consumer with JMSReply test.
  */
-public class JmsConcurrentConsumersTest extends CamelTestSupport {
+public class JmsConcurrentConsumersTest extends AbstractJMSTest {
 
     @Test
     public void testConcurrentConsumersWithReply() throws Exception {
@@ -72,7 +72,8 @@ public class JmsConcurrentConsumersTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsCustomJMSReplyToIssueTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsCustomJMSReplyToIssueTest.java
index 3a234e9ae1a..51f9abe8569 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsCustomJMSReplyToIssueTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsCustomJMSReplyToIssueTest.java
@@ -22,17 +22,17 @@ import javax.jms.TextMessage;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.apache.camel.component.jms.JmsComponent;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 import org.springframework.jms.core.JmsTemplate;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsCustomJMSReplyToIssueTest extends CamelTestSupport {
+public class JmsCustomJMSReplyToIssueTest extends AbstractJMSTest {
 
     private JmsComponent amq;
 
@@ -64,7 +64,8 @@ public class JmsCustomJMSReplyToIssueTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         amq = camelContext.getComponent("activemq", JmsComponent.class);
 
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsFilenameHeaderTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsFilenameHeaderTest.java
index ad76a8d6818..28c21158834 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsFilenameHeaderTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsFilenameHeaderTest.java
@@ -23,18 +23,18 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 /**
  * Unit test for sending the filename for file producer over the JMS wire.
  */
-public class JmsFilenameHeaderTest extends CamelTestSupport {
+public class JmsFilenameHeaderTest extends AbstractJMSTest {
 
     @Test
     public void testFileNameOverJMS() throws Exception {
@@ -54,7 +54,8 @@ public class JmsFilenameHeaderTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsGetHeaderKeyFormatIssueTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsGetHeaderKeyFormatIssueTest.java
index 1b622b135c5..4e6be7f66b1 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsGetHeaderKeyFormatIssueTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsGetHeaderKeyFormatIssueTest.java
@@ -22,15 +22,15 @@ 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.component.jms.AbstractJMSTest;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsGetHeaderKeyFormatIssueTest extends CamelTestSupport {
+public class JmsGetHeaderKeyFormatIssueTest extends AbstractJMSTest {
 
     private final String uri = "activemq:queue:hello?jmsKeyFormatStrategy=default";
 
@@ -49,7 +49,8 @@ public class JmsGetHeaderKeyFormatIssueTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsGetHeaderKeyFormatIssueWithContentTypeHeaderTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsGetHeaderKeyFormatIssueWithContentTypeHeaderTest.java
index 116727fc12a..3797f044bc4 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsGetHeaderKeyFormatIssueWithContentTypeHeaderTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsGetHeaderKeyFormatIssueWithContentTypeHeaderTest.java
@@ -20,13 +20,13 @@ 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.component.jms.AbstractJMSTest;
 import org.apache.camel.component.jms.JmsMessage;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 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;
@@ -35,7 +35,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
  * Unit test to verify that we can route a JMS message and do header lookup by name without mutating it and that it can
  * handle the default keyFormatStrategy with _HYPHEN_ in the key name
  */
-public class JmsGetHeaderKeyFormatIssueWithContentTypeHeaderTest extends CamelTestSupport {
+public class JmsGetHeaderKeyFormatIssueWithContentTypeHeaderTest extends AbstractJMSTest {
 
     private final String uri = "activemq:queue:hello?jmsKeyFormatStrategy=default";
 
@@ -59,7 +59,8 @@ public class JmsGetHeaderKeyFormatIssueWithContentTypeHeaderTest extends CamelTe
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsHeaderAsObjectTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsHeaderAsObjectTest.java
index 7dd7b8a459f..4d0fab80a93 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsHeaderAsObjectTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsHeaderAsObjectTest.java
@@ -23,14 +23,14 @@ 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.component.jms.AbstractJMSTest;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsHeaderAsObjectTest extends CamelTestSupport {
+public class JmsHeaderAsObjectTest extends AbstractJMSTest {
 
     @Test
     public void testSendHeaderAsPrimitiveOnly() throws Exception {
@@ -70,7 +70,8 @@ public class JmsHeaderAsObjectTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOnlyIssueTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOnlyIssueTest.java
index 961b3e9d6e0..e1239e7c05d 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOnlyIssueTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOnlyIssueTest.java
@@ -22,15 +22,15 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsInOnlyIssueTest extends CamelTestSupport {
+public class JmsInOnlyIssueTest extends AbstractJMSTest {
 
     @Test
     public void testInOnlyWithSendBody() throws Exception {
@@ -90,7 +90,8 @@ public class JmsInOnlyIssueTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOnlyParameterTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOnlyParameterTest.java
index c705f42c0c6..2b93031ab1f 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOnlyParameterTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOnlyParameterTest.java
@@ -21,14 +21,14 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
-import org.apache.camel.test.junit5.CamelTestSupport;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsInOnlyParameterTest extends CamelTestSupport {
+public class JmsInOnlyParameterTest extends AbstractJMSTest {
 
     @Test
     public void testInOnly() throws Exception {
@@ -65,7 +65,8 @@ public class JmsInOnlyParameterTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutExclusiveTopicRecipientListTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutExclusiveTopicRecipientListTest.java
index eca892d4e05..20637436af1 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutExclusiveTopicRecipientListTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutExclusiveTopicRecipientListTest.java
@@ -20,14 +20,14 @@ 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.junit5.CamelTestSupport;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsInOutExclusiveTopicRecipientListTest extends CamelTestSupport {
+public class JmsInOutExclusiveTopicRecipientListTest extends AbstractJMSTest {
 
     @Test
     public void testJmsInOutExclusiveTopicTest() throws Exception {
@@ -43,7 +43,8 @@ public class JmsInOutExclusiveTopicRecipientListTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutExclusiveTopicTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutExclusiveTopicTest.java
index 1f009f9ac53..5a456193b01 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutExclusiveTopicTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutExclusiveTopicTest.java
@@ -20,14 +20,14 @@ 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.junit5.CamelTestSupport;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsInOutExclusiveTopicTest extends CamelTestSupport {
+public class JmsInOutExclusiveTopicTest extends AbstractJMSTest {
 
     @Test
     public void testJmsInOutExclusiveTopicTest() throws Exception {
@@ -42,7 +42,8 @@ public class JmsInOutExclusiveTopicTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutIssueTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutIssueTest.java
index d4cb8e83cf3..a7b5fca3697 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutIssueTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutIssueTest.java
@@ -24,39 +24,39 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
-import org.apache.camel.test.junit5.CamelTestSupport;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsInOutIssueTest extends CamelTestSupport {
+public class JmsInOutIssueTest extends AbstractJMSTest {
 
     @Test
     public void testInOutWithRequestBody() {
-        String reply = template.requestBody("activemq:queue:in", "Hello World", String.class);
+        String reply = template.requestBody("activemq:queue:inJmsInOutIssueTest", "Hello World", String.class);
         assertEquals("Bye World", reply);
     }
 
     @Test
     public void testInOutTwoTimes() {
-        String reply = template.requestBody("activemq:queue:in", "Hello World", String.class);
+        String reply = template.requestBody("activemq:queue:inJmsInOutIssueTest", "Hello World", String.class);
         assertEquals("Bye World", reply);
 
-        reply = template.requestBody("activemq:queue:in", "Hello Camel", String.class);
+        reply = template.requestBody("activemq:queue:inJmsInOutIssueTest", "Hello Camel", String.class);
         assertEquals("Bye World", reply);
     }
 
     @Test
     public void testInOutWithAsyncRequestBody() throws Exception {
-        Future<String> reply = template.asyncRequestBody("activemq:queue:in", "Hello World", String.class);
+        Future<String> reply = template.asyncRequestBody("activemq:queue:inJmsInOutIssueTest", "Hello World", String.class);
         assertEquals("Bye World", reply.get());
     }
 
     @Test
     public void testInOutWithSendExchange() {
-        Exchange out = template.send("activemq:queue:in", ExchangePattern.InOut,
+        Exchange out = template.send("activemq:queue:inJmsInOutIssueTest", ExchangePattern.InOut,
                 exchange -> exchange.getIn().setBody("Hello World"));
 
         assertEquals("Bye World", out.getMessage().getBody());
@@ -64,7 +64,7 @@ public class JmsInOutIssueTest extends CamelTestSupport {
 
     @Test
     public void testInOutWithAsyncSendExchange() throws Exception {
-        Future<Exchange> out = template.asyncSend("activemq:queue:in", exchange -> {
+        Future<Exchange> out = template.asyncSend("activemq:queue:inJmsInOutIssueTest", exchange -> {
             exchange.setPattern(ExchangePattern.InOut);
             exchange.getIn().setBody("Hello World");
         });
@@ -75,7 +75,8 @@ public class JmsInOutIssueTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
@@ -84,7 +85,7 @@ public class JmsInOutIssueTest extends CamelTestSupport {
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                from("activemq:queue:in").process(exchange -> exchange.getMessage().setBody("Bye World"));
+                from("activemq:queue:inJmsInOutIssueTest").process(exchange -> exchange.getMessage().setBody("Bye World"));
             }
         };
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutParallelTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutParallelTest.java
index 3834459e580..f60a7ff5bb4 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutParallelTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutParallelTest.java
@@ -21,15 +21,15 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsInOutParallelTest extends CamelTestSupport {
+public class JmsInOutParallelTest extends AbstractJMSTest {
 
     @Test
     public void testInOutParallel() throws Exception {
@@ -44,7 +44,7 @@ public class JmsInOutParallelTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutPersistentReplyQueueTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutPersistentReplyQueueTest.java
index bdaaac580dc..d4f045915fb 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutPersistentReplyQueueTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutPersistentReplyQueueTest.java
@@ -21,13 +21,13 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
-import org.apache.camel.test.junit5.CamelTestSupport;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsInOutPersistentReplyQueueTest extends CamelTestSupport {
+public class JmsInOutPersistentReplyQueueTest extends AbstractJMSTest {
 
     @Test
     public void testInOutPersistentReplyQueue() throws Exception {
@@ -44,7 +44,8 @@ public class JmsInOutPersistentReplyQueueTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
@@ -55,14 +56,14 @@ public class JmsInOutPersistentReplyQueueTest extends CamelTestSupport {
             public void configure() {
                 from("seda:start")
                         .log("Sending ${body}")
-                        .to(ExchangePattern.InOut, "activemq:queue:foo?replyTo=myReplies")
+                        .to(ExchangePattern.InOut, "activemq:queue:JmsInOutPersistentReplyQueueTest?replyTo=myReplies")
                         // process the remainder of the route concurrently
                         .threads(5)
                         .log("Reply ${body}")
                         .delay(2000)
                         .to("mock:result");
 
-                from("activemq:queue:foo")
+                from("activemq:queue:JmsInOutPersistentReplyQueueTest")
                         .to("mock:foo")
                         .transform(body().prepend("Bye "))
                         .log("Sending back reply ${body}");
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutPipelineWithBeanTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutPipelineWithBeanTest.java
index dd1476a4ba2..85970b3116f 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutPipelineWithBeanTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutPipelineWithBeanTest.java
@@ -22,17 +22,17 @@ import org.apache.camel.BindToRegistry;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
-import org.apache.camel.test.junit5.CamelTestSupport;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * Unit test from an user request on the forum.
  */
-public class JmsInOutPipelineWithBeanTest extends CamelTestSupport {
+public class JmsInOutPipelineWithBeanTest extends AbstractJMSTest {
 
     @BindToRegistry("dummyBean")
     private final MyDummyBean bean = new MyDummyBean();
@@ -58,7 +58,8 @@ public class JmsInOutPipelineWithBeanTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutRepeatedInvocationsTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutRepeatedInvocationsTest.java
index 94dd423030f..925fa4582cd 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutRepeatedInvocationsTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutRepeatedInvocationsTest.java
@@ -21,15 +21,15 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsInOutRepeatedInvocationsTest extends CamelTestSupport {
+public class JmsInOutRepeatedInvocationsTest extends AbstractJMSTest {
 
     @Test
     public void testInOutRepeatSequentialInvocations() throws Exception {
@@ -44,7 +44,8 @@ public class JmsInOutRepeatedInvocationsTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutRoutingSlipTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutRoutingSlipTest.java
index 9464f5deac6..41949cda4aa 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutRoutingSlipTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutRoutingSlipTest.java
@@ -21,13 +21,13 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
-import org.apache.camel.test.junit5.CamelTestSupport;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsInOutRoutingSlipTest extends CamelTestSupport {
+public class JmsInOutRoutingSlipTest extends AbstractJMSTest {
 
     @Test
     public void testJmsInOutRoutingSlip() throws Exception {
@@ -43,7 +43,8 @@ public class JmsInOutRoutingSlipTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutTransferExchangeInflightRepositoryFlushTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutTransferExchangeInflightRepositoryFlushTest.java
index 19a57ea220b..114bfa3819b 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutTransferExchangeInflightRepositoryFlushTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutTransferExchangeInflightRepositoryFlushTest.java
@@ -21,22 +21,23 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.apache.camel.component.jms.SerializableRequestDto;
 import org.apache.camel.component.jms.SerializableResponseDto;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsInOutTransferExchangeInflightRepositoryFlushTest extends CamelTestSupport {
+public class JmsInOutTransferExchangeInflightRepositoryFlushTest extends AbstractJMSTest {
 
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutUseMessageIDasCorrelationIDTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutUseMessageIDasCorrelationIDTest.java
index 4d547f4bc50..9860a9e703b 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutUseMessageIDasCorrelationIDTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsInOutUseMessageIDasCorrelationIDTest.java
@@ -20,15 +20,15 @@ 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.junit5.CamelTestSupport;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNull;
 
-public class JmsInOutUseMessageIDasCorrelationIDTest extends CamelTestSupport {
+public class JmsInOutUseMessageIDasCorrelationIDTest extends AbstractJMSTest {
 
     @Test
     public void testInOutWithMsgIdAsCorrId() {
@@ -46,7 +46,8 @@ public class JmsInOutUseMessageIDasCorrelationIDTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsJMSReplyToConsumerEndpointUsingInOutTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsJMSReplyToConsumerEndpointUsingInOutTest.java
index effd372d3ed..92b0a02c24f 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsJMSReplyToConsumerEndpointUsingInOutTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsJMSReplyToConsumerEndpointUsingInOutTest.java
@@ -20,17 +20,17 @@ 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.junit5.CamelTestSupport;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * Unit test using a fixed replyTo specified on the JMS endpoint
  */
-public class JmsJMSReplyToConsumerEndpointUsingInOutTest extends CamelTestSupport {
+public class JmsJMSReplyToConsumerEndpointUsingInOutTest extends AbstractJMSTest {
 
     @Test
     public void testCustomJMSReplyToInOut() {
@@ -54,7 +54,8 @@ public class JmsJMSReplyToConsumerEndpointUsingInOutTest extends CamelTestSuppor
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsJMSReplyToEndpointUsingInOutTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsJMSReplyToEndpointUsingInOutTest.java
index f5dd92041ca..b2d200f4048 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsJMSReplyToEndpointUsingInOutTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsJMSReplyToEndpointUsingInOutTest.java
@@ -26,20 +26,20 @@ import javax.jms.TextMessage;
 import org.apache.camel.CamelContext;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.apache.camel.component.jms.JmsComponent;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 import org.springframework.jms.core.JmsTemplate;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 /**
  * Unit test using a fixed replyTo specified on the JMS endpoint
  */
-public class JmsJMSReplyToEndpointUsingInOutTest extends CamelTestSupport {
+public class JmsJMSReplyToEndpointUsingInOutTest extends AbstractJMSTest {
     private JmsComponent amq;
 
     @Test
@@ -103,7 +103,8 @@ public class JmsJMSReplyToEndpointUsingInOutTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         amq = camelContext.getComponent("activemq", JmsComponent.class);
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsLifecycleIssueTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsLifecycleIssueTest.java
index 29bca94405b..d0248b891a2 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsLifecycleIssueTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsLifecycleIssueTest.java
@@ -21,19 +21,21 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.ServiceStatus;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
-import org.apache.camel.test.junit5.CamelTestSupport;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 import static org.apache.camel.ServiceStatus.Started;
 import static org.apache.camel.ServiceStatus.Stopped;
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsLifecycleIssueTest extends CamelTestSupport {
+@TestInstance(TestInstance.Lifecycle.PER_METHOD)
+public class JmsLifecycleIssueTest extends AbstractJMSTest {
 
-    public static final String ROUTE_ID = "simpleRoute";
-    public static final String ENDPOINT_URI = "activemq:processOrder";
+    public static final String ROUTE_ID = "JmsLifecycleIssueTestRoute";
+    public static final String ENDPOINT_URI = "activemq:JmsLifecycleIssueTest.processOrder";
 
     @Test
     public void routeThatIsStoppedAndThenResumedAcceptsMessage() throws Exception {
@@ -71,7 +73,8 @@ public class JmsLifecycleIssueTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsMQSpecialHeaderTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsMQSpecialHeaderTest.java
index beab093a01d..dc6b53bc2a1 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsMQSpecialHeaderTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsMQSpecialHeaderTest.java
@@ -23,14 +23,14 @@ 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.component.jms.AbstractJMSTest;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsMQSpecialHeaderTest extends CamelTestSupport {
+public class JmsMQSpecialHeaderTest extends AbstractJMSTest {
 
     @Test
     public void testUsingSpecialIBMJMSHeader() throws Exception {
@@ -62,7 +62,8 @@ public class JmsMQSpecialHeaderTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsMessageHeaderContentBasedRouterTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsMessageHeaderContentBasedRouterTest.java
index 3e8f7cf04ed..a14d855eb3b 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsMessageHeaderContentBasedRouterTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsMessageHeaderContentBasedRouterTest.java
@@ -22,16 +22,16 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.Predicate;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
-import org.apache.camel.test.junit5.CamelTestSupport;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
 /**
  * Unit test based on user on user forum with an issue.
  */
-public class JmsMessageHeaderContentBasedRouterTest extends CamelTestSupport {
+public class JmsMessageHeaderContentBasedRouterTest extends AbstractJMSTest {
 
     @Test
     public void testCBR() throws Exception {
@@ -46,7 +46,8 @@ public class JmsMessageHeaderContentBasedRouterTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsMutateMessageTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsMutateMessageTest.java
index d028c8b0245..c6a779846d1 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsMutateMessageTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsMutateMessageTest.java
@@ -20,18 +20,18 @@ 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.component.jms.AbstractJMSTest;
 import org.apache.camel.component.jms.JmsMessage;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 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;
 
-public class JmsMutateMessageTest extends CamelTestSupport {
+public class JmsMutateMessageTest extends AbstractJMSTest {
 
     private final String uri = "activemq:queue:hello";
 
@@ -50,7 +50,8 @@ public class JmsMutateMessageTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsMutateRemoveHeaderMessageTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsMutateRemoveHeaderMessageTest.java
index df44367ea4e..ee79f6ccb1f 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsMutateRemoveHeaderMessageTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsMutateRemoveHeaderMessageTest.java
@@ -20,10 +20,10 @@ 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.component.jms.AbstractJMSTest;
 import org.apache.camel.component.jms.JmsMessage;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
+import org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
@@ -32,7 +32,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertNull;
 
-public class JmsMutateRemoveHeaderMessageTest extends CamelTestSupport {
+public class JmsMutateRemoveHeaderMessageTest extends AbstractJMSTest {
 
     private final String uri = "activemq:queue:hello";
 
@@ -51,7 +51,7 @@ public class JmsMutateRemoveHeaderMessageTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory = ConnectionFactoryHelper.createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsPassThroughtJmsKeyFormatStrategyEndUserIssueTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsPassThroughtJmsKeyFormatStrategyEndUserIssueTest.java
index 13769ba4c7c..58eadfb5fab 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsPassThroughtJmsKeyFormatStrategyEndUserIssueTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsPassThroughtJmsKeyFormatStrategyEndUserIssueTest.java
@@ -22,15 +22,15 @@ 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.component.jms.AbstractJMSTest;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsPassThroughtJmsKeyFormatStrategyEndUserIssueTest extends CamelTestSupport {
+public class JmsPassThroughtJmsKeyFormatStrategyEndUserIssueTest extends AbstractJMSTest {
 
     private final String uri = "activemq:queue:hello?jmsKeyFormatStrategy=passthrough";
 
@@ -49,7 +49,8 @@ public class JmsPassThroughtJmsKeyFormatStrategyEndUserIssueTest extends CamelTe
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsPassThroughtJmsKeyFormatStrategyEndpointTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsPassThroughtJmsKeyFormatStrategyEndpointTest.java
index bc60ffe418e..261f71dfd3e 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsPassThroughtJmsKeyFormatStrategyEndpointTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsPassThroughtJmsKeyFormatStrategyEndpointTest.java
@@ -22,15 +22,15 @@ 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.component.jms.AbstractJMSTest;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsPassThroughtJmsKeyFormatStrategyEndpointTest extends CamelTestSupport {
+public class JmsPassThroughtJmsKeyFormatStrategyEndpointTest extends AbstractJMSTest {
 
     private final String uri = "activemq:queue:hello?jmsKeyFormatStrategy=passthrough";
 
@@ -56,7 +56,8 @@ public class JmsPassThroughtJmsKeyFormatStrategyEndpointTest extends CamelTestSu
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsPassThroughtJmsKeyFormatStrategyTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsPassThroughtJmsKeyFormatStrategyTest.java
index 66fa7d7f3b0..905746c18b3 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsPassThroughtJmsKeyFormatStrategyTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsPassThroughtJmsKeyFormatStrategyTest.java
@@ -22,17 +22,17 @@ 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.component.jms.AbstractJMSTest;
 import org.apache.camel.component.jms.JmsComponent;
 import org.apache.camel.component.jms.PassThroughJmsKeyFormatStrategy;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsPassThroughtJmsKeyFormatStrategyTest extends CamelTestSupport {
+public class JmsPassThroughtJmsKeyFormatStrategyTest extends AbstractJMSTest {
 
     private final String uri = "activemq:queue:hello";
 
@@ -58,7 +58,8 @@ public class JmsPassThroughtJmsKeyFormatStrategyTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
 
         // configure to use passthrough
         JmsComponent activemq = jmsComponentAutoAcknowledge(connectionFactory);
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsPassThroughtJmsKeyFormatStrategyUsingJmsConfigurationTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsPassThroughtJmsKeyFormatStrategyUsingJmsConfigurationTest.java
index 0b8b2630347..073b3bb20cc 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsPassThroughtJmsKeyFormatStrategyUsingJmsConfigurationTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsPassThroughtJmsKeyFormatStrategyUsingJmsConfigurationTest.java
@@ -22,17 +22,17 @@ 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.component.jms.AbstractJMSTest;
 import org.apache.camel.component.jms.JmsComponent;
 import org.apache.camel.component.jms.PassThroughJmsKeyFormatStrategy;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class JmsPassThroughtJmsKeyFormatStrategyUsingJmsConfigurationTest extends CamelTestSupport {
+public class JmsPassThroughtJmsKeyFormatStrategyUsingJmsConfigurationTest extends AbstractJMSTest {
 
     private final String uri = "activemq:queue:hello";
 
@@ -62,7 +62,8 @@ public class JmsPassThroughtJmsKeyFormatStrategyUsingJmsConfigurationTest extend
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         JmsComponent jms = camelContext.getComponent("activemq", JmsComponent.class);
         jms.getConfiguration().setJmsKeyFormatStrategy(new PassThroughJmsKeyFormatStrategy());
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsReplyToComponentEndlessLoopTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsReplyToComponentEndlessLoopTest.java
index ed5f3969846..8784c23bd9d 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsReplyToComponentEndlessLoopTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsReplyToComponentEndlessLoopTest.java
@@ -20,16 +20,16 @@ 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.junit5.CamelTestSupport;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.apache.camel.test.junit5.TestSupport.assertIsInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.junit.jupiter.api.Assertions.fail;
 
-public class JmsReplyToComponentEndlessLoopTest extends CamelTestSupport {
+public class JmsReplyToComponentEndlessLoopTest extends AbstractJMSTest {
 
     @Override
     public boolean isUseRouteBuilder() {
@@ -39,7 +39,8 @@ public class JmsReplyToComponentEndlessLoopTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsReplyToLoopIssueTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsReplyToLoopIssueTest.java
index cc9a55bf28d..2c4f8adefc3 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsReplyToLoopIssueTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsReplyToLoopIssueTest.java
@@ -22,14 +22,14 @@ 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.junit5.CamelTestSupport;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.awaitility.Awaitility;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsReplyToLoopIssueTest extends CamelTestSupport {
+public class JmsReplyToLoopIssueTest extends AbstractJMSTest {
 
     @Test
     public void testReplyToLoopIssue() {
@@ -46,7 +46,8 @@ public class JmsReplyToLoopIssueTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsRoutingSlipIssueTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsRoutingSlipIssueTest.java
index 6ee6ddb510f..11f75401772 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsRoutingSlipIssueTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsRoutingSlipIssueTest.java
@@ -21,13 +21,13 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
-import org.apache.camel.test.junit5.CamelTestSupport;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class JmsRoutingSlipIssueTest extends CamelTestSupport {
+public class JmsRoutingSlipIssueTest extends AbstractJMSTest {
 
     @Test
     public void testJmsRoutingSlip() throws Exception {
@@ -45,7 +45,8 @@ public class JmsRoutingSlipIssueTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsToFileMessageIdTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsToFileMessageIdTest.java
index 8fa97fdd13a..c9a8b6a2eb7 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsToFileMessageIdTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsToFileMessageIdTest.java
@@ -20,20 +20,20 @@ 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.component.jms.AbstractJMSTest;
 import org.apache.camel.component.jms.JmsMessage;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 /**
  * Unit test to verify issue we had in Camel 1.4
  */
-public class JmsToFileMessageIdTest extends CamelTestSupport {
+public class JmsToFileMessageIdTest extends AbstractJMSTest {
 
     @Test
     public void testFromJmsToFileAndMessageId() throws Exception {
@@ -50,7 +50,8 @@ public class JmsToFileMessageIdTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsTypeConverterIssueTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsTypeConverterIssueTest.java
index 9e4779d5fc9..204731bab7b 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsTypeConverterIssueTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsTypeConverterIssueTest.java
@@ -30,12 +30,12 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.apache.camel.test.junit5.TestSupport.deleteDirectory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -43,13 +43,14 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
 /**
  * Unit test based on user forum issue.
  */
-public class JmsTypeConverterIssueTest extends CamelTestSupport {
+public class JmsTypeConverterIssueTest extends AbstractJMSTest {
 
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/LarsIssueTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/LarsIssueTest.java
index 8266101def1..10e6043ae73 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/LarsIssueTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/LarsIssueTest.java
@@ -21,20 +21,20 @@ import javax.jms.ConnectionFactory;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
 /**
  * Lets test that a number of headers MQSeries doesn't like to be sent are excluded when forwarding a JMS message from
  * one destination to another
  */
-public class LarsIssueTest extends CamelTestSupport {
+public class LarsIssueTest extends AbstractJMSTest {
     private static final Logger LOG = LoggerFactory.getLogger(LarsIssueTest.class);
 
     @Test
@@ -54,7 +54,8 @@ public class LarsIssueTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/MQSeriesHeaderTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/MQSeriesHeaderTest.java
index 1c3de87ece9..a1c15779dc5 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/MQSeriesHeaderTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/MQSeriesHeaderTest.java
@@ -25,21 +25,21 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.apache.camel.test.junit5.TestSupport.assertMessageHeader;
 
 /**
  * Lets test that a number of headers MQSeries doesn't like to be sent are excluded when forwarding a JMS message from
  * one destination to another
  */
-public class MQSeriesHeaderTest extends CamelTestSupport {
+public class MQSeriesHeaderTest extends AbstractJMSTest {
 
     private static final Logger LOG = LoggerFactory.getLogger(MQSeriesHeaderTest.class);
 
@@ -51,7 +51,7 @@ public class MQSeriesHeaderTest extends CamelTestSupport {
         Map<String, Object> headers = new HashMap<>();
         headers.put("JMSXAppID", "ABC");
 
-        template.sendBodyAndHeaders("activemq:test.a", "Hello World!", headers);
+        template.sendBodyAndHeaders("activemq:MQSeriesHeaderTest.a", "Hello World!", headers);
 
         endpoint.assertIsSatisfied();
 
@@ -59,14 +59,15 @@ public class MQSeriesHeaderTest extends CamelTestSupport {
         Message in = exchange.getIn();
         assertMessageHeader(in, "JMSXAppID", null);
 
-        LOG.info("Received message: " + in);
+        LOG.info("Received message: {}", in);
     }
 
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
@@ -76,8 +77,8 @@ public class MQSeriesHeaderTest extends CamelTestSupport {
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                from("activemq:test.a").to("activemq:test.b");
-                from("activemq:test.b").to("mock:result");
+                from("activemq:MQSeriesHeaderTest.a").to("activemq:MQSeriesHeaderTest.b");
+                from("activemq:MQSeriesHeaderTest.b").to("mock:result");
             }
         };
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/NoClassDefFoundErrorWrapExceptionTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/NoClassDefFoundErrorWrapExceptionTest.java
index d7b67883d0a..68e9775717a 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/NoClassDefFoundErrorWrapExceptionTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/NoClassDefFoundErrorWrapExceptionTest.java
@@ -23,15 +23,15 @@ 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.junit5.CamelTestSupport;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.junit.jupiter.api.Assertions.fail;
 
-public class NoClassDefFoundErrorWrapExceptionTest extends CamelTestSupport {
+public class NoClassDefFoundErrorWrapExceptionTest extends AbstractJMSTest {
 
     @Test
     public void testNoClassDef() {
@@ -66,7 +66,8 @@ public class NoClassDefFoundErrorWrapExceptionTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/RequestReplyWithProducerIssueTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/RequestReplyWithProducerIssueTest.java
index d24ca5a6524..07da6881f21 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/RequestReplyWithProducerIssueTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/RequestReplyWithProducerIssueTest.java
@@ -24,14 +24,14 @@ import org.apache.camel.Exchange;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.Producer;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
-import org.apache.camel.test.junit5.CamelTestSupport;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class RequestReplyWithProducerIssueTest extends CamelTestSupport {
+public class RequestReplyWithProducerIssueTest extends AbstractJMSTest {
 
     @Test
     public void testInOut() throws Exception {
@@ -51,7 +51,8 @@ public class RequestReplyWithProducerIssueTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/TempReplyToIssueTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/TempReplyToIssueTest.java
index 0720efa5eda..14c28a2b4fa 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/TempReplyToIssueTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/TempReplyToIssueTest.java
@@ -25,17 +25,17 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Header;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.jms.CamelJmsTestHelper;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.apache.camel.component.jms.JmsConstants;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-public class TempReplyToIssueTest extends CamelTestSupport {
+public class TempReplyToIssueTest extends AbstractJMSTest {
 
     @Test
     public void testReplyToIssue() {
@@ -75,7 +75,8 @@ public class TempReplyToIssueTest extends CamelTestSupport {
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
         return camelContext;
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/temp/JmsReconnectManualTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/temp/JmsReconnectManualTest.java
index 04b1c5d0f19..4c8e453964d 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/temp/JmsReconnectManualTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/temp/JmsReconnectManualTest.java
@@ -54,7 +54,7 @@ public class JmsReconnectManualTest {
 
     /**
      * TODO: Find a way to recreate the problem with ActiveMQ and fully automate the test
-     * 
+     *
      * @throws Exception
      */
     @Disabled("This test is disabled as the problem can currently not be reproduced using ActiveMQ.")
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/temp/TemporaryQueueRouteTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/temp/TemporaryQueueRouteTest.java
index 17dad45b36e..56ad8db3e96 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/temp/TemporaryQueueRouteTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/temp/TemporaryQueueRouteTest.java
@@ -20,15 +20,15 @@ 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.component.jms.AbstractJMSTest;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit5.CamelTestSupport;
 import org.junit.jupiter.api.Test;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 
-public class TemporaryQueueRouteTest extends CamelTestSupport {
-    protected String endpointUri = "activemq:temp-queue:cheese";
+public class TemporaryQueueRouteTest extends AbstractJMSTest {
+    protected String endpointUri = "activemq:temp-queue:TemporaryQueueRouteTest";
 
     @Test
     public void testSendMessage() throws Exception {
@@ -44,7 +44,8 @@ public class TemporaryQueueRouteTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/tuning/PerformanceRouteTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/tuning/PerformanceRouteTest.java
index 4cb465d509a..ad04d418699 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/tuning/PerformanceRouteTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/tuning/PerformanceRouteTest.java
@@ -20,18 +20,18 @@ 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.junit5.CamelTestSupport;
+import org.apache.camel.component.jms.AbstractJMSTest;
 import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
+import static org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper.createConnectionFactory;
 import static org.junit.jupiter.api.Assumptions.assumeTrue;
 
 @Disabled
-public class PerformanceRouteTest extends CamelTestSupport {
+public class PerformanceRouteTest extends AbstractJMSTest {
 
     private static final Logger LOG = LoggerFactory.getLogger(PerformanceRouteTest.class);
 
@@ -76,7 +76,8 @@ public class PerformanceRouteTest extends CamelTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext camelContext = super.createCamelContext();
 
-        ConnectionFactory connectionFactory = CamelJmsTestHelper.createConnectionFactory();
+        ConnectionFactory connectionFactory
+                = createConnectionFactory(service);
         camelContext.addComponent("activemq", jmsComponentAutoAcknowledge(connectionFactory));
 
         return camelContext;
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/tx/JMSTXInOutPersistentQueueTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/tx/JMSTXInOutPersistentQueueTest.java
index a4e8cfdd242..030217465c2 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/tx/JMSTXInOutPersistentQueueTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/tx/JMSTXInOutPersistentQueueTest.java
@@ -65,7 +65,7 @@ public class JMSTXInOutPersistentQueueTest extends CamelSpringTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
-                from("direct:start").to(ExchangePattern.InOut, "activemq:queue:foo?replyTo=myReplies")
+                from("direct:start").to(ExchangePattern.InOut, "activemq:queue:JMSTXInOutPersistentQueueTest?replyTo=myReplies")
                         .to("mock:reply")
                         .process(exchange -> {
                             if (counter++ < 2) {
@@ -73,7 +73,7 @@ public class JMSTXInOutPersistentQueueTest extends CamelSpringTestSupport {
                             }
                         }).to("mock:result");
 
-                from("activemq:queue:foo").to("mock:foo").transform(body().prepend("Bye "));
+                from("activemq:queue:JMSTXInOutPersistentQueueTest").to("mock:foo").transform(body().prepend("Bye "));
             }
         };
     }
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/tx/QueueToProcessorTransactionTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/tx/QueueToProcessorTransactionTest.java
index 1ed94e71bf1..e9436897fcd 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/tx/QueueToProcessorTransactionTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/tx/QueueToProcessorTransactionTest.java
@@ -24,7 +24,7 @@ import org.junit.jupiter.api.Test;
 /**
  * Test case derived from: http://camel.apache.org/transactional-client.html and Martin Krasser's sample:
  * http://www.nabble.com/JMS-Transactions---How-To-td15168958s22882.html#a15198803
- *
+ * <p>
  * NOTE: had to split into separate test classes as I was unable to fully tear down and isolate the test cases, I'm not
  * sure why, but as soon as we know the Transaction classes can be joined into one.
  */
diff --git a/components/camel-jms/src/test/resources/log4j2-test.properties b/components/camel-jms/src/test/resources/log4j2-test.properties
index 5ccbdfaba4a..d9be3fd5a76 100644
--- a/components/camel-jms/src/test/resources/log4j2-test.properties
+++ b/components/camel-jms/src/test/resources/log4j2-test.properties
@@ -26,3 +26,9 @@ appender.stdout.layout.type = PatternLayout
 appender.stdout.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
 rootLogger.level = INFO
 rootLogger.appenderRef.out.ref = out
+
+
+logger.camelTestInfra.name=org.apache.camel.test.infra.common.services
+logger.camelTestInfra.level=DEBUG
+
+
diff --git a/test-infra/camel-test-infra-activemq/pom.xml b/test-infra/camel-test-infra-activemq/pom.xml
index 5a517635726..5536efa8267 100644
--- a/test-infra/camel-test-infra-activemq/pom.xml
+++ b/test-infra/camel-test-infra-activemq/pom.xml
@@ -33,6 +33,12 @@
     <name>Camel :: Test Infra :: ActiveMQ</name>
 
     <dependencies>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-util</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
         <dependency>
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-test-infra-common</artifactId>
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
new file mode 100644
index 00000000000..ff3395287bf
--- /dev/null
+++ b/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/common/ConnectionFactoryHelper.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+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.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 {
+    private ConnectionFactoryHelper() {
+    }
+
+    public static ConnectionFactory createConnectionFactory(ActiveMQService service) {
+        return createConnectionFactory(service, null);
+    }
+
+    public static ConnectionFactory createConnectionFactory(ActiveMQService service, Integer maximumRedeliveries) {
+        if (service instanceof ConnectionFactoryAware) {
+            return createConnectionFactory(((ActiveMQVMService) service).getVmURL(), maximumRedeliveries);
+        }
+
+        if (service instanceof ActiveMQServiceFactory.SingletonActiveMQService) {
+            return createConnectionFactory(((ActiveMQServiceFactory.SingletonActiveMQService) service).getService(),
+                    maximumRedeliveries);
+        }
+
+        throw new UnsupportedOperationException("The test service does not implement ConnectionFactoryAware");
+    }
+
+    public static ConnectionFactory createConnectionFactory(String url, Integer maximumRedeliveries) {
+        return createConnectionFactory(new ActiveMQConnectionFactory(url), maximumRedeliveries);
+    }
+
+    public static ConnectionFactory createConnectionFactory(
+            ActiveMQConnectionFactory connectionFactory, Integer maximumRedeliveries) {
+        // 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;
+    }
+}
diff --git a/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQEmbeddedService.java b/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQEmbeddedService.java
index 91207d1f818..70ccc2129e9 100644
--- a/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQEmbeddedService.java
+++ b/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQEmbeddedService.java
@@ -20,11 +20,14 @@ package org.apache.camel.test.infra.activemq.services;
 import java.io.IOException;
 import java.net.URISyntaxException;
 
+import javax.jms.ConnectionFactory;
 import javax.management.MalformedObjectNameException;
 import javax.management.ObjectName;
 
+import org.apache.activemq.ActiveMQConnectionFactory;
 import org.apache.activemq.broker.BrokerService;
 import org.apache.activemq.broker.jmx.DestinationViewMBean;
+import org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper;
 import org.junit.jupiter.api.extension.AfterEachCallback;
 import org.junit.jupiter.api.extension.BeforeEachCallback;
 import org.junit.jupiter.api.extension.ExtensionContext;
@@ -33,7 +36,7 @@ import org.slf4j.LoggerFactory;
 
 import static org.junit.jupiter.api.Assertions.fail;
 
-public class ActiveMQEmbeddedService implements ActiveMQService, BeforeEachCallback, AfterEachCallback {
+public class ActiveMQEmbeddedService implements ActiveMQService, ConnectionFactoryAware, BeforeEachCallback, AfterEachCallback {
     private static final Logger LOG = LoggerFactory.getLogger(ActiveMQEmbeddedService.class);
     private final BrokerService brokerService;
     private final boolean recycle;
@@ -170,4 +173,15 @@ public class ActiveMQEmbeddedService implements ActiveMQService, BeforeEachCallb
         return (DestinationViewMBean) brokerService.getManagementContext().newProxyInstance(name,
                 DestinationViewMBean.class, true);
     }
+
+    @Deprecated
+    public ConnectionFactory createConnectionFactory() {
+        return createConnectionFactory(null);
+    }
+
+    @Deprecated
+    public ConnectionFactory createConnectionFactory(Integer maximumRedeliveries) {
+        ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(getVmURL());
+        return ConnectionFactoryHelper.createConnectionFactory(connectionFactory, maximumRedeliveries);
+    }
 }
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 25aa2af28e0..dcf6139a403 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
@@ -603,6 +603,20 @@ public class ActiveMQEmbeddedServiceBuilder {
         return defaultBroker(ActiveMQEmbeddedServiceBuilder.class.getSimpleName());
     }
 
+    /*
+    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;
+    }
+     */
+
     public static ActiveMQEmbeddedServiceBuilder defaultBroker(String name) {
         return new ActiveMQEmbeddedServiceBuilder()
                 .withDeleteAllMessagesOnStartup(true)
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 de9309430b3..89c898069db 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
@@ -17,9 +17,55 @@
 package org.apache.camel.test.infra.activemq.services;
 
 import org.apache.camel.test.infra.common.services.SimpleTestServiceBuilder;
+import org.apache.camel.test.infra.common.services.SingletonService;
+import org.junit.jupiter.api.extension.ExtensionContext;
 
 public final class ActiveMQServiceFactory {
 
+    public static class SingletonActiveMQService extends SingletonService<ActiveMQService> implements ActiveMQService {
+        public SingletonActiveMQService(ActiveMQService service, String name) {
+            super(service, name);
+        }
+
+        @Override
+        public String serviceAddress() {
+            return getService().serviceAddress();
+        }
+
+        @Override
+        public String userName() {
+            return getService().userName();
+        }
+
+        @Override
+        public String password() {
+            return getService().password();
+        }
+
+        @Override
+        public void beforeAll(ExtensionContext extensionContext) {
+            addToStore(extensionContext);
+        }
+
+        @Override
+        public void afterAll(ExtensionContext extensionContext) {
+            // NO-OP
+        }
+
+        @Override
+        public void restart() {
+            getService().restart();
+        }
+
+        @Override
+        public ActiveMQService getService() {
+            return super.getService();
+        }
+    }
+
+    private static SimpleTestServiceBuilder<ActiveMQService> instance;
+    private static ActiveMQService service;
+
     private ActiveMQServiceFactory() {
 
     }
@@ -34,4 +80,34 @@ public final class ActiveMQServiceFactory {
                 .addRemoteMapping(ActiveMQRemoteService::new)
                 .build();
     }
+
+    public static synchronized ActiveMQService createEmbeddedService() {
+        return createSingletonEmbeddedService();
+    }
+
+    public static synchronized ActiveMQService createEmbeddedServiceInstance() {
+        if (service == null) {
+            if (instance == null) {
+                instance = new SimpleTestServiceBuilder<>("activemq");
+
+                instance.addLocalMapping(() -> new SingletonActiveMQService(new ActiveMQVMService(), "activemq"));
+            }
+        }
+
+        return instance.build();
+    }
+
+    public static synchronized ActiveMQService createSingletonEmbeddedService() {
+        if (service == null) {
+            if (instance == null) {
+                instance = new SimpleTestServiceBuilder<>("activemq");
+
+                instance.addLocalMapping(() -> new SingletonActiveMQService(new ActiveMQVMService(), "activemq"));
+            }
+
+            service = instance.build();
+        }
+
+        return service;
+    }
 }
diff --git a/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQEmbeddedService.java b/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQVMService.java
similarity index 85%
copy from test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQEmbeddedService.java
copy to test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQVMService.java
index 91207d1f818..037d6e5b7de 100644
--- a/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQEmbeddedService.java
+++ b/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQVMService.java
@@ -20,11 +20,13 @@ package org.apache.camel.test.infra.activemq.services;
 import java.io.IOException;
 import java.net.URISyntaxException;
 
+import javax.jms.ConnectionFactory;
 import javax.management.MalformedObjectNameException;
 import javax.management.ObjectName;
 
 import org.apache.activemq.broker.BrokerService;
 import org.apache.activemq.broker.jmx.DestinationViewMBean;
+import org.apache.camel.test.infra.activemq.common.ConnectionFactoryHelper;
 import org.junit.jupiter.api.extension.AfterEachCallback;
 import org.junit.jupiter.api.extension.BeforeEachCallback;
 import org.junit.jupiter.api.extension.ExtensionContext;
@@ -33,21 +35,21 @@ import org.slf4j.LoggerFactory;
 
 import static org.junit.jupiter.api.Assertions.fail;
 
-public class ActiveMQEmbeddedService implements ActiveMQService, BeforeEachCallback, AfterEachCallback {
-    private static final Logger LOG = LoggerFactory.getLogger(ActiveMQEmbeddedService.class);
+public class ActiveMQVMService implements ActiveMQService, ConnectionFactoryAware, BeforeEachCallback, AfterEachCallback {
+    private static final Logger LOG = LoggerFactory.getLogger(ActiveMQVMService.class);
     private final BrokerService brokerService;
     private final boolean recycle;
 
-    public ActiveMQEmbeddedService() {
+    public ActiveMQVMService() {
         this(ActiveMQEmbeddedServiceBuilder.defaultBroker().brokerService());
     }
 
-    public ActiveMQEmbeddedService(BrokerService brokerService) {
+    public ActiveMQVMService(BrokerService brokerService) {
         this.brokerService = brokerService;
         this.recycle = false;
     }
 
-    public ActiveMQEmbeddedService(BrokerService brokerService, boolean recycle) {
+    public ActiveMQVMService(BrokerService brokerService, boolean recycle) {
         this.brokerService = brokerService;
         this.recycle = recycle;
     }
@@ -93,7 +95,7 @@ public class ActiveMQEmbeddedService implements ActiveMQService, BeforeEachCallb
 
     @Override
     public String serviceAddress() {
-        return getBrokerUri(brokerService, 0);
+        return getVmURL();
     }
 
     @Override
@@ -153,8 +155,8 @@ public class ActiveMQEmbeddedService implements ActiveMQService, BeforeEachCallb
 
     public String getVmURL(boolean failoverURL) {
         return failoverURL
-                ? String.format("failover:(%s?create=false)", brokerService.getVmConnectorURI().toString())
-                : this.brokerService.getVmConnectorURI().toString() + "?create=false";
+                ? String.format("failover:(%s?create=true)", brokerService.getVmConnectorURI().toString())
+                : this.brokerService.getVmConnectorURI().toString() + "?create=true";
     }
 
     public DestinationViewMBean getQueueMBean(String queueName) throws MalformedObjectNameException {
@@ -170,4 +172,14 @@ public class ActiveMQEmbeddedService implements ActiveMQService, BeforeEachCallb
         return (DestinationViewMBean) brokerService.getManagementContext().newProxyInstance(name,
                 DestinationViewMBean.class, true);
     }
+
+    @Deprecated
+    public ConnectionFactory createConnectionFactory() {
+        return createConnectionFactory(null);
+    }
+
+    @Deprecated
+    public ConnectionFactory createConnectionFactory(Integer maximumRedeliveries) {
+        return ConnectionFactoryHelper.createConnectionFactory(getVmURL(), maximumRedeliveries);
+    }
 }
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/ConnectionFactoryAware.java
similarity index 61%
copy from test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ActiveMQServiceFactory.java
copy to test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/ConnectionFactoryAware.java
index de9309430b3..966134086bf 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/ConnectionFactoryAware.java
@@ -14,24 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.test.infra.activemq.services;
-
-import org.apache.camel.test.infra.common.services.SimpleTestServiceBuilder;
 
-public final class ActiveMQServiceFactory {
-
-    private ActiveMQServiceFactory() {
+package org.apache.camel.test.infra.activemq.services;
 
-    }
+import javax.jms.ConnectionFactory;
 
-    public static SimpleTestServiceBuilder<ActiveMQService> builder() {
-        return new SimpleTestServiceBuilder<>("activemq");
-    }
+public interface ConnectionFactoryAware {
+    ConnectionFactory createConnectionFactory();
 
-    public static ActiveMQService createService() {
-        return builder()
-                .addLocalMapping(ActiveMQEmbeddedService::new)
-                .addRemoteMapping(ActiveMQRemoteService::new)
-                .build();
-    }
+    ConnectionFactory createConnectionFactory(Integer maximumRedeliveries);
 }
diff --git a/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/LegacyEmbeddedBroker.java b/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/LegacyEmbeddedBroker.java
new file mode 100644
index 00000000000..96468b5f6f9
--- /dev/null
+++ b/test-infra/camel-test-infra-activemq/src/test/java/org/apache/camel/test/infra/activemq/services/LegacyEmbeddedBroker.java
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.camel.test.infra.activemq.services;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.apache.camel.util.URISupport;
+
+public final class LegacyEmbeddedBroker {
+    private static AtomicInteger counter = new AtomicInteger();
+
+    private LegacyEmbeddedBroker() {
+
+    }
+
+    @Deprecated
+    public static String createBrokerUrl() {
+        return createBrokerUrl(null);
+    }
+
+    @Deprecated
+    public 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);
+    }
+
+    @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/test-infra/camel-test-infra-common/src/test/java/org/apache/camel/test/infra/common/services/SingletonService.java b/test-infra/camel-test-infra-common/src/test/java/org/apache/camel/test/infra/common/services/SingletonService.java
index a2a2e445803..6c114e3d6e6 100644
--- a/test-infra/camel-test-infra-common/src/test/java/org/apache/camel/test/infra/common/services/SingletonService.java
+++ b/test-infra/camel-test-infra-common/src/test/java/org/apache/camel/test/infra/common/services/SingletonService.java
@@ -38,7 +38,13 @@ public class SingletonService<T extends TestService> implements ExtensionContext
     }
 
     protected void addToStore(ExtensionContext extensionContext) {
-        extensionContext.getRoot().getStore(ExtensionContext.Namespace.GLOBAL).getOrComputeIfAbsent(name, s -> {
+        final ExtensionContext root = extensionContext.getRoot();
+        LOG.debug("Using root: {}", root);
+
+        final ExtensionContext.Store store = root.getStore(ExtensionContext.Namespace.GLOBAL);
+        LOG.debug("Using store: {}", store);
+
+        store.getOrComputeIfAbsent(name, s -> {
             LOG.debug("Registering singleton service {}", name);
             service.initialize();
             return this;