You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2026/03/27 23:01:45 UTC

(camel) branch mesquite-planet created (now 17c3c4ce4aa1)

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

gnodet pushed a change to branch mesquite-planet
in repository https://gitbox.apache.org/repos/asf/camel.git


      at 17c3c4ce4aa1 Migrate all test classes from createService() to createSingletonService()

This branch includes the following new commits:

     new 17c3c4ce4aa1 Migrate all test classes from createService() to createSingletonService()

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



(camel) 01/01: Migrate all test classes from createService() to createSingletonService()

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

gnodet pushed a commit to branch mesquite-planet
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 17c3c4ce4aa15979fdd35d4e0deb1fa1f6d7f1cf
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Fri Mar 27 23:14:57 2026 +0100

    Migrate all test classes from createService() to createSingletonService()
    
    Migrate every test class that used createService() to use
    createSingletonService(). Tests that needed isolation fixes:
    - Google PubSub: catch AlreadyExistsException for reruns + unique
      topic names for conflicting test pairs (DeadLetterIT/MessageOrderingIT,
      CustomSerializerIT/BodyTypesIT, SingleExchangeRound*IT)
    - Hashicorp Vault: secretPath() helper using getClass().getSimpleName()
      for per-class secret path isolation
    - Spring-RabbitMQ: uniqueName() helper for exchange/queue names
    - LRA: delta-tolerant assertions for shared coordinator state
    - Consul: remove manual initialization (singleton handles lifecycle)
    
    89 test files migrated across 30+ components.
    
    Co-Authored-By: Claude Opus 4.6 <no...@anthropic.com>
---
 .../camel/component/ChatScriptComponentIT.java     |  2 +-
 .../docling/integration/DoclingITestSupport.java   |  2 +-
 .../docling/integration/OcrExtractionIT.java       |  2 +-
 .../camel/component/kserve/it/KServeITSupport.java |  2 +-
 .../LangChain4jAgentMcpAndCamelToolsIT.java        |  2 +-
 .../openai/integration/OpenAIMcpAdvancedIT.java    |  2 +-
 .../integration/OpenAIMcpConversationStoreIT.java  |  2 +-
 .../integration/OpenAIMcpManualToolLoopIT.java     |  2 +-
 .../openai/integration/OpenAIMcpToolsIT.java       |  2 +-
 .../torchserve/it/TensorFlowServingITSupport.java  |  2 +-
 .../arangodb/integration/BaseArangoDb.java         |  2 +-
 .../azure/storage/blob/integration/Base.java       |  2 +-
 .../azure/storage/datalake/integration/Base.java   |  2 +-
 .../queue/integration/StorageQueueBase.java        |  2 +-
 .../camel/component/consul/ConsulHealthIT.java     | 12 ++-----
 .../camel/component/consul/ConsulRegistryIT.java   |  2 +-
 .../camel/component/consul/ConsulTestSupport.java  |  2 +-
 .../consul/cluster/ConsulClusterViewIT.java        |  2 +-
 .../ConsulClusteredRoutePolicyFactoryIT.java       |  2 +-
 .../cluster/ConsulClusteredRoutePolicyIT.java      |  2 +-
 .../component/consul/cluster/ConsulMasterIT.java   |  2 +-
 .../component/google/pubsub/PubsubTestSupport.java | 18 ++++++----
 .../pubsub/integration/CustomSerializerIT.java     |  4 +--
 .../google/pubsub/integration/DeadLetterIT.java    | 12 +++----
 .../SingleExchangeRoundAllHeadersIT.java           |  4 +--
 .../HashicorpVaultPropertiesSourceNoEnvTestIT.java |  2 +-
 ...ashicorpProducerCreateMultiVersionSecretIT.java |  8 +++--
 .../HashicorpProducerCreateSecretIT.java           | 12 ++++---
 .../HashicorpProducerCreateSecretPOJOIT.java       |  8 +++--
 .../HashicorpProducerDeleteSecretIT.java           |  9 ++---
 .../operations/HashicorpProducerListSecretsIT.java | 13 ++++----
 ...ashicorpProducerReadMultiVersionedSecretIT.java |  8 +++--
 .../HashicorpProducerSecretPathHeaderIT.java       |  7 ++--
 .../integration/operations/HashicorpVaultBase.java |  6 +++-
 .../hazelcast/HazelcastConfigurationTest.java      |  2 +-
 .../hazelcast/HazelcastListProducerTest.java       |  2 +-
 .../HazelcastSedaTransferExchangeTest.java         |  2 +-
 .../hazelcast/HazelcastSetProducerTest.java        |  2 +-
 .../hazelcast/policy/HazelcastRoutePolicyIT.java   |  2 +-
 ...lcastAggregationRepositoryCamelTestSupport.java |  2 +-
 .../HazelcastIdempotentRepositoryTest.java         |  2 +-
 .../apache/camel/component/iggy/IggyTestBase.java  |  2 +-
 .../camel/component/jms/JmsComponentIbmMQTest.java |  2 +-
 .../component/jms/issues/JmsReplyToIbmMQTest.java  |  2 +-
 .../integration/BaseExclusiveKafkaTestSupport.java |  2 +-
 .../health/KafkaHealthCheckTestSupport.java        |  2 +-
 .../component/keycloak/KeycloakConsumerIT.java     |  2 +-
 .../component/keycloak/KeycloakTestInfraIT.java    |  2 +-
 .../security/KeycloakSecurityTestInfraIT.java      |  2 +-
 .../security/KeycloakTokenBindingSecurityIT.java   |  2 +-
 .../security/KeycloakTokenIntrospectionIT.java     |  2 +-
 .../camel/component/ldif/LdifTestSupport.java      |  2 +-
 .../integration/MinioIntegrationTestSupport.java   |  2 +-
 .../integration/AbstractMongoDbITSupport.java      |  2 +-
 .../component/nats/integration/NatsITSupport.java  |  2 +-
 .../paho/mqtt5/integration/PahoMqtt5ITSupport.java |  2 +-
 .../pqc/HashicorpVaultKeyLifecycleIT.java          |  2 +-
 .../aggregate/integration/AggregateRedisIT.java    |  2 +-
 .../solr/integration/SolrTestSupport.java          |  2 +-
 .../springai/chat/SpringAiChatMcpSseIT.java        |  2 +-
 .../springrabbit/integration/RabbitMQBasicIT.java  | 10 +++---
 .../integration/RabbitMQComponentNullBodyIT.java   |  6 ++--
 .../integration/RabbitMQConsumerIT.java            |  4 +--
 .../RabbitMQConsumerPooledExchangeIT.java          |  4 +--
 .../integration/RabbitMQConsumerQueuesIT.java      |  4 +--
 .../integration/RabbitMQConsumerRoutingKeyIT.java  |  4 +--
 .../integration/RabbitMQConsumerTopicIT.java       |  5 +--
 .../integration/RabbitMQITSupport.java             |  6 +++-
 .../springrabbit/integration/RabbitMQInOutIT.java  |  5 +--
 .../integration/RabbitMQPollingConsumerIT.java     | 28 ++++++++++------
 .../integration/RabbitMQProducerAutoDeclareIT.java | 12 ++++---
 .../integration/RabbitMQProducerIT.java            | 38 +++++++++++-----------
 .../RabbitMQProducerInvalidExchangeIT.java         |  6 ++--
 .../integration/RabbitMQProducerNullBodyIT.java    |  6 ++--
 .../integration/RabbitMQProducerSimpleIT.java      |  2 +-
 .../integration/RabbitMQProducerToDIT.java         | 16 ++++-----
 .../redis/integration/RedisConsumerManualIT.java   |  2 +-
 .../redis/integration/RedisProducerManualIT.java   |  2 +-
 .../component/xmpp/integration/XmppBaseIT.java     |  2 +-
 .../zookeepermaster/MasterEndpointIT.java          |  2 +-
 .../zookeepermaster/MasterQuartzEndpointIT.java    |  2 +-
 .../component/zookeepermaster/group/GroupIT.java   |  2 +-
 .../integration/MasterEndpointFailoverIT.java      |  2 +-
 .../ZooKeeperClusteredRoutePolicyFactoryIT.java    |  2 +-
 .../ZooKeeperClusteredRoutePolicyIT.java           |  2 +-
 .../cluster/integration/ZooKeeperMasterIT.java     |  2 +-
 .../zookeeper/integration/ZooKeeperITSupport.java  |  2 +-
 .../dsl/jbang/it/support/JBangTestSupport.java     |  2 +-
 88 files changed, 212 insertions(+), 183 deletions(-)

diff --git a/components/camel-ai/camel-chatscript/src/test/java/org/apache/camel/component/ChatScriptComponentIT.java b/components/camel-ai/camel-chatscript/src/test/java/org/apache/camel/component/ChatScriptComponentIT.java
index 80cb589677ec..2177388c9bc0 100644
--- a/components/camel-ai/camel-chatscript/src/test/java/org/apache/camel/component/ChatScriptComponentIT.java
+++ b/components/camel-ai/camel-chatscript/src/test/java/org/apache/camel/component/ChatScriptComponentIT.java
@@ -37,7 +37,7 @@ public class ChatScriptComponentIT extends CamelTestSupport {
     private static final Logger LOG = LoggerFactory.getLogger(ChatScriptComponentIT.class);
 
     @RegisterExtension
-    public static ChatScriptService service = ChatScriptServiceFactory.createService();
+    public static ChatScriptService service = ChatScriptServiceFactory.createSingletonService();
 
     @Test
     public void testChatScript() throws Exception {
diff --git a/components/camel-ai/camel-docling/src/test/java/org/apache/camel/component/docling/integration/DoclingITestSupport.java b/components/camel-ai/camel-docling/src/test/java/org/apache/camel/component/docling/integration/DoclingITestSupport.java
index f593f507ad2c..046d4e86419e 100644
--- a/components/camel-ai/camel-docling/src/test/java/org/apache/camel/component/docling/integration/DoclingITestSupport.java
+++ b/components/camel-ai/camel-docling/src/test/java/org/apache/camel/component/docling/integration/DoclingITestSupport.java
@@ -31,7 +31,7 @@ public abstract class DoclingITestSupport extends CamelTestSupport {
     protected static final Logger LOG = LoggerFactory.getLogger(DoclingITestSupport.class);
 
     @RegisterExtension
-    static DoclingService doclingService = DoclingServiceFactory.createService();
+    static DoclingService doclingService = DoclingServiceFactory.createSingletonService();
 
     @Override
     protected CamelContext createCamelContext() throws Exception {
diff --git a/components/camel-ai/camel-docling/src/test/java/org/apache/camel/component/docling/integration/OcrExtractionIT.java b/components/camel-ai/camel-docling/src/test/java/org/apache/camel/component/docling/integration/OcrExtractionIT.java
index 3aef0fe7d57a..358626d8cf5e 100644
--- a/components/camel-ai/camel-docling/src/test/java/org/apache/camel/component/docling/integration/OcrExtractionIT.java
+++ b/components/camel-ai/camel-docling/src/test/java/org/apache/camel/component/docling/integration/OcrExtractionIT.java
@@ -58,7 +58,7 @@ class OcrExtractionIT extends CamelTestSupport {
     private static final String TEST_TEXT_LINE3 = "OCR Test Document";
 
     @RegisterExtension
-    static DoclingService doclingService = DoclingServiceFactory.createService();
+    static DoclingService doclingService = DoclingServiceFactory.createSingletonService();
 
     @Override
     protected CamelContext createCamelContext() throws Exception {
diff --git a/components/camel-ai/camel-kserve/src/test/java/org/apache/camel/component/kserve/it/KServeITSupport.java b/components/camel-ai/camel-kserve/src/test/java/org/apache/camel/component/kserve/it/KServeITSupport.java
index b9585ab80005..68083d5e9754 100644
--- a/components/camel-ai/camel-kserve/src/test/java/org/apache/camel/component/kserve/it/KServeITSupport.java
+++ b/components/camel-ai/camel-kserve/src/test/java/org/apache/camel/component/kserve/it/KServeITSupport.java
@@ -26,7 +26,7 @@ import org.junit.jupiter.api.extension.RegisterExtension;
 class KServeITSupport extends CamelTestSupport {
 
     @RegisterExtension
-    static TritonService service = TritonServiceFactory.createService();
+    static TritonService service = TritonServiceFactory.createSingletonService();
 
     @Override
     protected CamelContext createCamelContext() throws Exception {
diff --git a/components/camel-ai/camel-langchain4j-agent/src/test/java/org/apache/camel/component/langchain4j/agent/integration/LangChain4jAgentMcpAndCamelToolsIT.java b/components/camel-ai/camel-langchain4j-agent/src/test/java/org/apache/camel/component/langchain4j/agent/integration/LangChain4jAgentMcpAndCamelToolsIT.java
index 6f06db05c5fa..14cc87293e17 100644
--- a/components/camel-ai/camel-langchain4j-agent/src/test/java/org/apache/camel/component/langchain4j/agent/integration/LangChain4jAgentMcpAndCamelToolsIT.java
+++ b/components/camel-ai/camel-langchain4j-agent/src/test/java/org/apache/camel/component/langchain4j/agent/integration/LangChain4jAgentMcpAndCamelToolsIT.java
@@ -75,7 +75,7 @@ public class LangChain4jAgentMcpAndCamelToolsIT extends CamelTestSupport {
     static OllamaService OLLAMA = OllamaServiceFactory.createSingletonService();
 
     @RegisterExtension
-    static McpEverythingService MCP_EVERYTHING = McpEverythingServiceFactory.createService();
+    static McpEverythingService MCP_EVERYTHING = McpEverythingServiceFactory.createSingletonService();
 
     @Override
     protected void setupResources() throws Exception {
diff --git a/components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/integration/OpenAIMcpAdvancedIT.java b/components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/integration/OpenAIMcpAdvancedIT.java
index aeaeb75bdfeb..73ad8a6893cd 100644
--- a/components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/integration/OpenAIMcpAdvancedIT.java
+++ b/components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/integration/OpenAIMcpAdvancedIT.java
@@ -51,7 +51,7 @@ public class OpenAIMcpAdvancedIT extends OpenAITestSupport {
     private static final String MCP_PROTOCOL_VERSIONS = "2024-11-05,2025-03-26,2025-06-18";
 
     @RegisterExtension
-    static McpEverythingService MCP_EVERYTHING = McpEverythingServiceFactory.createService();
+    static McpEverythingService MCP_EVERYTHING = McpEverythingServiceFactory.createSingletonService();
 
     private String returnDirectEndpointUri;
 
diff --git a/components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/integration/OpenAIMcpConversationStoreIT.java b/components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/integration/OpenAIMcpConversationStoreIT.java
index fcc7762ec91a..f908b769fbd2 100644
--- a/components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/integration/OpenAIMcpConversationStoreIT.java
+++ b/components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/integration/OpenAIMcpConversationStoreIT.java
@@ -57,7 +57,7 @@ public class OpenAIMcpConversationStoreIT extends OpenAITestSupport {
     private final Map<String, List<?>> conversationStore = new ConcurrentHashMap<>();
 
     @RegisterExtension
-    static McpEverythingService MCP_EVERYTHING = McpEverythingServiceFactory.createService();
+    static McpEverythingService MCP_EVERYTHING = McpEverythingServiceFactory.createSingletonService();
 
     @Override
     protected RouteBuilder createRouteBuilder() {
diff --git a/components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/integration/OpenAIMcpManualToolLoopIT.java b/components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/integration/OpenAIMcpManualToolLoopIT.java
index 2902838d285d..ace1aec5a048 100644
--- a/components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/integration/OpenAIMcpManualToolLoopIT.java
+++ b/components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/integration/OpenAIMcpManualToolLoopIT.java
@@ -51,7 +51,7 @@ public class OpenAIMcpManualToolLoopIT extends OpenAITestSupport {
     private static final String MCP_PROTOCOL_VERSIONS = "2024-11-05,2025-03-26,2025-06-18";
 
     @RegisterExtension
-    static McpEverythingService MCP_EVERYTHING = McpEverythingServiceFactory.createService();
+    static McpEverythingService MCP_EVERYTHING = McpEverythingServiceFactory.createSingletonService();
 
     @Override
     protected RouteBuilder createRouteBuilder() {
diff --git a/components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/integration/OpenAIMcpToolsIT.java b/components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/integration/OpenAIMcpToolsIT.java
index b049a3f0679a..10b6a17cb7fe 100644
--- a/components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/integration/OpenAIMcpToolsIT.java
+++ b/components/camel-ai/camel-openai/src/test/java/org/apache/camel/component/openai/integration/OpenAIMcpToolsIT.java
@@ -43,7 +43,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 public class OpenAIMcpToolsIT extends OpenAITestSupport {
 
     @RegisterExtension
-    static McpEverythingService MCP_EVERYTHING = McpEverythingServiceFactory.createService();
+    static McpEverythingService MCP_EVERYTHING = McpEverythingServiceFactory.createSingletonService();
 
     @Override
     protected RouteBuilder createRouteBuilder() {
diff --git a/components/camel-ai/camel-tensorflow-serving/src/test/java/org/apache/camel/component/torchserve/it/TensorFlowServingITSupport.java b/components/camel-ai/camel-tensorflow-serving/src/test/java/org/apache/camel/component/torchserve/it/TensorFlowServingITSupport.java
index c7dc00c0da97..f49181e03add 100644
--- a/components/camel-ai/camel-tensorflow-serving/src/test/java/org/apache/camel/component/torchserve/it/TensorFlowServingITSupport.java
+++ b/components/camel-ai/camel-tensorflow-serving/src/test/java/org/apache/camel/component/torchserve/it/TensorFlowServingITSupport.java
@@ -26,7 +26,7 @@ import org.junit.jupiter.api.extension.RegisterExtension;
 class TensorFlowServingITSupport extends CamelTestSupport {
 
     @RegisterExtension
-    static TensorFlowServingService service = TensorFlowServingServiceFactory.createService();
+    static TensorFlowServingService service = TensorFlowServingServiceFactory.createSingletonService();
 
     @Override
     protected CamelContext createCamelContext() throws Exception {
diff --git a/components/camel-arangodb/src/test/java/org/apache/camel/component/arangodb/integration/BaseArangoDb.java b/components/camel-arangodb/src/test/java/org/apache/camel/component/arangodb/integration/BaseArangoDb.java
index a45e9344800d..552e8bff7451 100644
--- a/components/camel-arangodb/src/test/java/org/apache/camel/component/arangodb/integration/BaseArangoDb.java
+++ b/components/camel-arangodb/src/test/java/org/apache/camel/component/arangodb/integration/BaseArangoDb.java
@@ -42,7 +42,7 @@ public abstract class BaseArangoDb implements ConfigurableRoute, CamelTestSuppor
 
     @Order(1)
     @RegisterExtension
-    public static ArangoDBService service = ArangoDBServiceFactory.createService();
+    public static ArangoDBService service = ArangoDBServiceFactory.createSingletonService();
     @Order(2)
     @RegisterExtension
     public static final CamelContextExtension camelContextExtension = new TransientCamelContextExtension();
diff --git a/components/camel-azure/camel-azure-storage-blob/src/test/java/org/apache/camel/component/azure/storage/blob/integration/Base.java b/components/camel-azure/camel-azure-storage-blob/src/test/java/org/apache/camel/component/azure/storage/blob/integration/Base.java
index bf8a48149f1b..d4ed2f8ed60f 100644
--- a/components/camel-azure/camel-azure-storage-blob/src/test/java/org/apache/camel/component/azure/storage/blob/integration/Base.java
+++ b/components/camel-azure/camel-azure-storage-blob/src/test/java/org/apache/camel/component/azure/storage/blob/integration/Base.java
@@ -45,7 +45,7 @@ public class Base extends CamelTestSupport {
     static {
         initCredentials();
 
-        service = AzureStorageBlobServiceFactory.createService();
+        service = AzureStorageBlobServiceFactory.createSingletonService();
     }
 
     /*
diff --git a/components/camel-azure/camel-azure-storage-datalake/src/test/java/org/apache/camel/component/azure/storage/datalake/integration/Base.java b/components/camel-azure/camel-azure-storage-datalake/src/test/java/org/apache/camel/component/azure/storage/datalake/integration/Base.java
index 743ec3d053f4..1469fb81f0ed 100644
--- a/components/camel-azure/camel-azure-storage-datalake/src/test/java/org/apache/camel/component/azure/storage/datalake/integration/Base.java
+++ b/components/camel-azure/camel-azure-storage-datalake/src/test/java/org/apache/camel/component/azure/storage/datalake/integration/Base.java
@@ -42,7 +42,7 @@ import org.junit.jupiter.api.extension.RegisterExtension;
 public class Base extends CamelTestSupport {
 
     @RegisterExtension
-    public AzureService service = AzureStorageDataLakeServiceFactory.createService();
+    public AzureService service = AzureStorageDataLakeServiceFactory.createSingletonService();
 
     protected DataLakeServiceClient serviceClient;
     protected DataLakeConfiguration configuration;
diff --git a/components/camel-azure/camel-azure-storage-queue/src/test/java/org/apache/camel/component/azure/storage/queue/integration/StorageQueueBase.java b/components/camel-azure/camel-azure-storage-queue/src/test/java/org/apache/camel/component/azure/storage/queue/integration/StorageQueueBase.java
index 666e361eeb49..b6069ed81a6e 100644
--- a/components/camel-azure/camel-azure-storage-queue/src/test/java/org/apache/camel/component/azure/storage/queue/integration/StorageQueueBase.java
+++ b/components/camel-azure/camel-azure-storage-queue/src/test/java/org/apache/camel/component/azure/storage/queue/integration/StorageQueueBase.java
@@ -43,7 +43,7 @@ public class StorageQueueBase extends CamelTestSupport {
     static {
         initCredentials();
 
-        service = AzureStorageQueueServiceFactory.createService();
+        service = AzureStorageQueueServiceFactory.createSingletonService();
     }
 
     /*
diff --git a/components/camel-consul/src/test/java/org/apache/camel/component/consul/ConsulHealthIT.java b/components/camel-consul/src/test/java/org/apache/camel/component/consul/ConsulHealthIT.java
index 40e1de3fc4ab..d7d7965caff6 100644
--- a/components/camel-consul/src/test/java/org/apache/camel/component/consul/ConsulHealthIT.java
+++ b/components/camel-consul/src/test/java/org/apache/camel/component/consul/ConsulHealthIT.java
@@ -29,6 +29,7 @@ import org.apache.camel.test.infra.consul.services.ConsulServiceFactory;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 import org.kiwiproject.consul.AgentClient;
 import org.kiwiproject.consul.Consul;
 import org.kiwiproject.consul.model.agent.ImmutableRegistration;
@@ -38,20 +39,13 @@ import org.kiwiproject.consul.model.health.ServiceHealth;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class ConsulHealthIT extends CamelTestSupport {
-    /*
-     NOTE: this one is not registered as extension because it requires a different lifecycle. It
-     needs to be started much earlier than usual, so in this test we take care of handling it.
-     */
-    private ConsulService consulService = ConsulServiceFactory.createService();
+    @RegisterExtension
+    static ConsulService consulService = ConsulServiceFactory.createSingletonService();
 
     private AgentClient client;
     private List<Registration> registrations;
     private String service;
 
-    public ConsulHealthIT() {
-        consulService.initialize();
-    }
-
     @BindToRegistry("consul")
     public ConsulComponent getConsulComponent() {
         ConsulComponent component = new ConsulComponent();
diff --git a/components/camel-consul/src/test/java/org/apache/camel/component/consul/ConsulRegistryIT.java b/components/camel-consul/src/test/java/org/apache/camel/component/consul/ConsulRegistryIT.java
index 559468859bef..3dda40e897c9 100644
--- a/components/camel-consul/src/test/java/org/apache/camel/component/consul/ConsulRegistryIT.java
+++ b/components/camel-consul/src/test/java/org/apache/camel/component/consul/ConsulRegistryIT.java
@@ -39,7 +39,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
  */
 public class ConsulRegistryIT implements Serializable {
     @RegisterExtension
-    public static ConsulService consulService = ConsulServiceFactory.createService();
+    public static ConsulService consulService = ConsulServiceFactory.createSingletonService();
 
     private static final long serialVersionUID = -3482971969351609265L;
     private static ConsulRegistry registry;
diff --git a/components/camel-consul/src/test/java/org/apache/camel/component/consul/ConsulTestSupport.java b/components/camel-consul/src/test/java/org/apache/camel/component/consul/ConsulTestSupport.java
index 0f79c5773bd2..35739c723e8c 100644
--- a/components/camel-consul/src/test/java/org/apache/camel/component/consul/ConsulTestSupport.java
+++ b/components/camel-consul/src/test/java/org/apache/camel/component/consul/ConsulTestSupport.java
@@ -31,7 +31,7 @@ import org.kiwiproject.consul.Consul;
 
 public class ConsulTestSupport extends CamelTestSupport {
     @RegisterExtension
-    public static ConsulService service = ConsulServiceFactory.createService();
+    public static ConsulService service = ConsulServiceFactory.createSingletonService();
 
     @RegisterExtension
     @Order(10)
diff --git a/components/camel-consul/src/test/java/org/apache/camel/component/consul/cluster/ConsulClusterViewIT.java b/components/camel-consul/src/test/java/org/apache/camel/component/consul/cluster/ConsulClusterViewIT.java
index 8889ba8e9cde..2f8f7dc494c1 100644
--- a/components/camel-consul/src/test/java/org/apache/camel/component/consul/cluster/ConsulClusterViewIT.java
+++ b/components/camel-consul/src/test/java/org/apache/camel/component/consul/cluster/ConsulClusterViewIT.java
@@ -30,7 +30,7 @@ import org.junit.jupiter.api.extension.RegisterExtension;
 
 public class ConsulClusterViewIT {
     @RegisterExtension
-    public static ConsulService service = ConsulServiceFactory.createService();
+    public static ConsulService service = ConsulServiceFactory.createSingletonService();
 
     @Test
     public void getLeaderTest() throws Exception {
diff --git a/components/camel-consul/src/test/java/org/apache/camel/component/consul/cluster/ConsulClusteredRoutePolicyFactoryIT.java b/components/camel-consul/src/test/java/org/apache/camel/component/consul/cluster/ConsulClusteredRoutePolicyFactoryIT.java
index 1d74a412a1e5..026a6fb0a34f 100644
--- a/components/camel-consul/src/test/java/org/apache/camel/component/consul/cluster/ConsulClusteredRoutePolicyFactoryIT.java
+++ b/components/camel-consul/src/test/java/org/apache/camel/component/consul/cluster/ConsulClusteredRoutePolicyFactoryIT.java
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
 
 public class ConsulClusteredRoutePolicyFactoryIT {
     @RegisterExtension
-    public static ConsulService service = ConsulServiceFactory.createService();
+    public static ConsulService service = ConsulServiceFactory.createSingletonService();
 
     private static final Logger LOGGER = LoggerFactory.getLogger(ConsulClusteredRoutePolicyFactoryIT.class);
     private static final List<String> CLIENTS = IntStream.range(0, 3).mapToObj(Integer::toString).toList();
diff --git a/components/camel-consul/src/test/java/org/apache/camel/component/consul/cluster/ConsulClusteredRoutePolicyIT.java b/components/camel-consul/src/test/java/org/apache/camel/component/consul/cluster/ConsulClusteredRoutePolicyIT.java
index c100c90e4558..cd9ce9e59ea4 100644
--- a/components/camel-consul/src/test/java/org/apache/camel/component/consul/cluster/ConsulClusteredRoutePolicyIT.java
+++ b/components/camel-consul/src/test/java/org/apache/camel/component/consul/cluster/ConsulClusteredRoutePolicyIT.java
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
 
 public class ConsulClusteredRoutePolicyIT {
     @RegisterExtension
-    public static ConsulService service = ConsulServiceFactory.createService();
+    public static ConsulService service = ConsulServiceFactory.createSingletonService();
 
     private static final Logger LOGGER = LoggerFactory.getLogger(ConsulClusteredRoutePolicyIT.class);
     private static final List<String> CLIENTS = IntStream.range(0, 3).mapToObj(Integer::toString).toList();
diff --git a/components/camel-consul/src/test/java/org/apache/camel/component/consul/cluster/ConsulMasterIT.java b/components/camel-consul/src/test/java/org/apache/camel/component/consul/cluster/ConsulMasterIT.java
index 6ce4dc7ce428..8ab5b02dab65 100644
--- a/components/camel-consul/src/test/java/org/apache/camel/component/consul/cluster/ConsulMasterIT.java
+++ b/components/camel-consul/src/test/java/org/apache/camel/component/consul/cluster/ConsulMasterIT.java
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
 
 public class ConsulMasterIT {
     @RegisterExtension
-    public static ConsulService service = ConsulServiceFactory.createService();
+    public static ConsulService service = ConsulServiceFactory.createSingletonService();
 
     private static final Logger LOGGER = LoggerFactory.getLogger(ConsulMasterIT.class);
     private static final List<String> CLIENTS = IntStream.range(0, 3).mapToObj(Integer::toString).toList();
diff --git a/components/camel-google/camel-google-pubsub/src/test/java/org/apache/camel/component/google/pubsub/PubsubTestSupport.java b/components/camel-google/camel-google-pubsub/src/test/java/org/apache/camel/component/google/pubsub/PubsubTestSupport.java
index 96624e25b8a4..abd597d83923 100644
--- a/components/camel-google/camel-google-pubsub/src/test/java/org/apache/camel/component/google/pubsub/PubsubTestSupport.java
+++ b/components/camel-google/camel-google-pubsub/src/test/java/org/apache/camel/component/google/pubsub/PubsubTestSupport.java
@@ -48,7 +48,7 @@ import org.slf4j.LoggerFactory;
 
 public class PubsubTestSupport extends CamelTestSupport {
     @RegisterExtension
-    public static GooglePubSubService service = GooglePubSubServiceFactory.createService();
+    public static GooglePubSubService service = GooglePubSubServiceFactory.createSingletonService();
 
     public static final String PROJECT_ID;
 
@@ -122,17 +122,21 @@ public class PubsubTestSupport extends CamelTestSupport {
 
     public void createTopic(Topic topic) {
         TopicAdminClient topicAdminClient = createTopicAdminClient();
-
-        topicAdminClient.createTopic(topic);
-
+        try {
+            topicAdminClient.createTopic(topic);
+        } catch (com.google.api.gax.rpc.AlreadyExistsException e) {
+            // Topic already exists in shared emulator — safe to ignore
+        }
         topicAdminClient.shutdown();
     }
 
     public void createSubscription(Subscription subscription) {
         SubscriptionAdminClient subscriptionAdminClient = createSubscriptionAdminClient();
-
-        subscriptionAdminClient.createSubscription(subscription);
-
+        try {
+            subscriptionAdminClient.createSubscription(subscription);
+        } catch (com.google.api.gax.rpc.AlreadyExistsException e) {
+            // Subscription already exists in shared emulator — safe to ignore
+        }
         subscriptionAdminClient.shutdown();
     }
 
diff --git a/components/camel-google/camel-google-pubsub/src/test/java/org/apache/camel/component/google/pubsub/integration/CustomSerializerIT.java b/components/camel-google/camel-google-pubsub/src/test/java/org/apache/camel/component/google/pubsub/integration/CustomSerializerIT.java
index 7661c5d8e80e..d3eb548cedd0 100644
--- a/components/camel-google/camel-google-pubsub/src/test/java/org/apache/camel/component/google/pubsub/integration/CustomSerializerIT.java
+++ b/components/camel-google/camel-google-pubsub/src/test/java/org/apache/camel/component/google/pubsub/integration/CustomSerializerIT.java
@@ -31,8 +31,8 @@ import org.junit.jupiter.api.Test;
 
 public class CustomSerializerIT extends PubsubTestSupport {
 
-    private static final String TOPIC_NAME = "typesSend";
-    private static final String SUBSCRIPTION_NAME = "TypesReceive";
+    private static final String TOPIC_NAME = "customTypesSend";
+    private static final String SUBSCRIPTION_NAME = "customTypesReceive";
 
     @EndpointInject("direct:from")
     private Endpoint directIn;
diff --git a/components/camel-google/camel-google-pubsub/src/test/java/org/apache/camel/component/google/pubsub/integration/DeadLetterIT.java b/components/camel-google/camel-google-pubsub/src/test/java/org/apache/camel/component/google/pubsub/integration/DeadLetterIT.java
index 8593254de206..e905d50457c3 100644
--- a/components/camel-google/camel-google-pubsub/src/test/java/org/apache/camel/component/google/pubsub/integration/DeadLetterIT.java
+++ b/components/camel-google/camel-google-pubsub/src/test/java/org/apache/camel/component/google/pubsub/integration/DeadLetterIT.java
@@ -34,12 +34,12 @@ import org.junit.jupiter.api.Test;
 
 public class DeadLetterIT extends PubsubTestSupport {
 
-    private static final String INPUT_TOPIC_NAME = "camel.input-topic";
-    private static final String INPUT_SUBSCRIPTION_NAME = "camel.input-topic-subscription";
-    private static final String OUTPUT_TOPIC_NAME = "camel.output-topic";
-    private static final String OUTPUT_SUBSCRIPTION_NAME = "camel.output-topic-subscription";
-    private static final String DEAD_LETTER_TOPIC_NAME = "camel.dead-letter-topic";
-    private static final String DEAD_LETTER_SUBSCRIPTION_NAME = "camel.dead-letter-topic-subscription";
+    private static final String INPUT_TOPIC_NAME = "camel.dl-input-topic";
+    private static final String INPUT_SUBSCRIPTION_NAME = "camel.dl-input-topic-subscription";
+    private static final String OUTPUT_TOPIC_NAME = "camel.dl-output-topic";
+    private static final String OUTPUT_SUBSCRIPTION_NAME = "camel.dl-output-topic-subscription";
+    private static final String DEAD_LETTER_TOPIC_NAME = "camel.dl-dead-letter-topic";
+    private static final String DEAD_LETTER_SUBSCRIPTION_NAME = "camel.dl-dead-letter-topic-subscription";
     private static int count = 1;
 
     @EndpointInject("google-pubsub:{{project.id}}:" + INPUT_SUBSCRIPTION_NAME)
diff --git a/components/camel-google/camel-google-pubsub/src/test/java/org/apache/camel/component/google/pubsub/integration/SingleExchangeRoundAllHeadersIT.java b/components/camel-google/camel-google-pubsub/src/test/java/org/apache/camel/component/google/pubsub/integration/SingleExchangeRoundAllHeadersIT.java
index 1528831233e6..68f81b15425e 100644
--- a/components/camel-google/camel-google-pubsub/src/test/java/org/apache/camel/component/google/pubsub/integration/SingleExchangeRoundAllHeadersIT.java
+++ b/components/camel-google/camel-google-pubsub/src/test/java/org/apache/camel/component/google/pubsub/integration/SingleExchangeRoundAllHeadersIT.java
@@ -36,8 +36,8 @@ import static org.junit.jupiter.api.Assertions.assertNull;
 
 public class SingleExchangeRoundAllHeadersIT extends PubsubTestSupport {
 
-    private static final String TOPIC_NAME = "singleSend";
-    private static final String SUBSCRIPTION_NAME = "singleReceive";
+    private static final String TOPIC_NAME = "singleAllHeadersSend";
+    private static final String SUBSCRIPTION_NAME = "singleAllHeadersReceive";
 
     @EndpointInject("direct:from")
     private Endpoint directIn;
diff --git a/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/HashicorpVaultPropertiesSourceNoEnvTestIT.java b/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/HashicorpVaultPropertiesSourceNoEnvTestIT.java
index dfbfc32c0e43..4239154a9015 100644
--- a/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/HashicorpVaultPropertiesSourceNoEnvTestIT.java
+++ b/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/HashicorpVaultPropertiesSourceNoEnvTestIT.java
@@ -39,7 +39,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
 public class HashicorpVaultPropertiesSourceNoEnvTestIT extends CamelTestSupport {
 
     @RegisterExtension
-    public static HashicorpVaultService service = HashicorpServiceFactory.createService();
+    public static HashicorpVaultService service = HashicorpServiceFactory.createSingletonService();
 
     @BeforeAll
     public static void init() {
diff --git a/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerCreateMultiVersionSecretIT.java b/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerCreateMultiVersionSecretIT.java
index ab29ef13d5f8..7702cb6821be 100644
--- a/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerCreateMultiVersionSecretIT.java
+++ b/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerCreateMultiVersionSecretIT.java
@@ -63,7 +63,8 @@ public class HashicorpProducerCreateMultiVersionSecretIT extends HashicorpVaultB
         exchange = template.request("direct:readSecret", new Processor() {
             @Override
             public void process(Exchange exchange) {
-                exchange.getMessage().setHeader(HashicorpVaultConstants.SECRET_PATH, "test");
+                exchange.getMessage().setHeader(HashicorpVaultConstants.SECRET_PATH,
+                        secretPath());
             }
         });
 
@@ -76,12 +77,13 @@ public class HashicorpProducerCreateMultiVersionSecretIT extends HashicorpVaultB
 
     @Override
     protected RouteBuilder createRouteBuilder() {
+        final String path = secretPath();
         return new RouteBuilder() {
             @Override
             public void configure() {
                 from("direct:createSecret")
-                        .toF("hashicorp-vault://secret?operation=createSecret&token=RAW(%s)&host=%s&port=%s&scheme=http&secretPath=test",
-                                service.token(), service.host(), service.port())
+                        .toF("hashicorp-vault://secret?operation=createSecret&token=RAW(%s)&host=%s&port=%s&scheme=http&secretPath=%s",
+                                service.token(), service.host(), service.port(), path)
                         .to("mock:result-write");
 
                 from("direct:readSecret")
diff --git a/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerCreateSecretIT.java b/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerCreateSecretIT.java
index 02d2a0b20323..a2e68ba7a6ec 100644
--- a/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerCreateSecretIT.java
+++ b/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerCreateSecretIT.java
@@ -59,7 +59,8 @@ public class HashicorpProducerCreateSecretIT extends HashicorpVaultBase {
         template.request("direct:readSecret", new Processor() {
             @Override
             public void process(Exchange exchange) {
-                exchange.getMessage().setHeader(HashicorpVaultConstants.SECRET_PATH, "test");
+                exchange.getMessage().setHeader(HashicorpVaultConstants.SECRET_PATH,
+                        secretPath());
             }
         });
         template.request("direct:readSecretWithPathParam", null);
@@ -83,12 +84,13 @@ public class HashicorpProducerCreateSecretIT extends HashicorpVaultBase {
 
     @Override
     protected RouteBuilder createRouteBuilder() {
+        final String path = secretPath();
         return new RouteBuilder() {
             @Override
             public void configure() {
                 from("direct:createSecret")
-                        .toF("hashicorp-vault://secret?operation=createSecret&token=RAW(%s)&host=%s&port=%s&scheme=http&secretPath=test",
-                                service.token(), service.host(), service.port())
+                        .toF("hashicorp-vault://secret?operation=createSecret&token=RAW(%s)&host=%s&port=%s&scheme=http&secretPath=%s",
+                                service.token(), service.host(), service.port(), path)
                         .to("mock:result-write");
 
                 from("direct:readSecret")
@@ -97,8 +99,8 @@ public class HashicorpProducerCreateSecretIT extends HashicorpVaultBase {
                         .to("mock:result-read");
 
                 from("direct:readSecretWithPathParam")
-                        .toF("hashicorp-vault://secret?operation=getSecret&token=RAW(%s)&host=%s&port=%s&scheme=http&secretPath=test",
-                                service.token(), service.host(), service.port())
+                        .toF("hashicorp-vault://secret?operation=getSecret&token=RAW(%s)&host=%s&port=%s&scheme=http&secretPath=%s",
+                                service.token(), service.host(), service.port(), path)
                         .to("mock:result-read-with-param");
             }
         };
diff --git a/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerCreateSecretPOJOIT.java b/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerCreateSecretPOJOIT.java
index 030d11a7073b..2fe3a35f827d 100644
--- a/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerCreateSecretPOJOIT.java
+++ b/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerCreateSecretPOJOIT.java
@@ -55,7 +55,8 @@ public class HashicorpProducerCreateSecretPOJOIT extends HashicorpVaultBase {
         exchange = template.request("direct:readSecret", new Processor() {
             @Override
             public void process(Exchange exchange) {
-                exchange.getMessage().setHeader(HashicorpVaultConstants.SECRET_PATH, "test");
+                exchange.getMessage().setHeader(HashicorpVaultConstants.SECRET_PATH,
+                        secretPath());
             }
         });
 
@@ -68,12 +69,13 @@ public class HashicorpProducerCreateSecretPOJOIT extends HashicorpVaultBase {
 
     @Override
     protected RouteBuilder createRouteBuilder() {
+        final String path = secretPath();
         return new RouteBuilder() {
             @Override
             public void configure() {
                 from("direct:createSecret")
-                        .toF("hashicorp-vault://secret?operation=createSecret&token=RAW(%s)&host=%s&port=%s&scheme=http&secretPath=test",
-                                service.token(), service.host(), service.port())
+                        .toF("hashicorp-vault://secret?operation=createSecret&token=RAW(%s)&host=%s&port=%s&scheme=http&secretPath=%s",
+                                service.token(), service.host(), service.port(), path)
                         .to("mock:result-write");
                 from("direct:readSecret")
                         .toF("hashicorp-vault://secret?operation=getSecret&token=RAW(%s)&host=%s&port=%s&scheme=http",
diff --git a/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerDeleteSecretIT.java b/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerDeleteSecretIT.java
index d6f7a3ea2cc5..38a1820e4b5e 100644
--- a/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerDeleteSecretIT.java
+++ b/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerDeleteSecretIT.java
@@ -58,17 +58,18 @@ public class HashicorpProducerDeleteSecretIT extends HashicorpVaultBase {
 
     @Override
     protected RouteBuilder createRouteBuilder() {
+        final String path = secretPath();
         return new RouteBuilder() {
             @Override
             public void configure() {
                 from("direct:createSecret")
-                        .toF("hashicorp-vault://secret?operation=createSecret&token=RAW(%s)&host=%s&port=%s&scheme=http&secretPath=test",
-                                service.token(), service.host(), service.port())
+                        .toF("hashicorp-vault://secret?operation=createSecret&token=RAW(%s)&host=%s&port=%s&scheme=http&secretPath=%s",
+                                service.token(), service.host(), service.port(), path)
                         .to("mock:result-write");
 
                 from("direct:deleteSecret")
-                        .toF("hashicorp-vault://secret?operation=deleteSecret&token=RAW(%s)&host=%s&port=%s&scheme=http&secretPath=test",
-                                service.token(), service.host(), service.port())
+                        .toF("hashicorp-vault://secret?operation=deleteSecret&token=RAW(%s)&host=%s&port=%s&scheme=http&secretPath=%s",
+                                service.token(), service.host(), service.port(), path)
                         .to("mock:result-delete");
             }
         };
diff --git a/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerListSecretsIT.java b/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerListSecretsIT.java
index 805fde711b20..c2105a7bff6c 100644
--- a/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerListSecretsIT.java
+++ b/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerListSecretsIT.java
@@ -27,7 +27,6 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.junit.jupiter.api.Test;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
@@ -69,23 +68,23 @@ public class HashicorpProducerListSecretsIT extends HashicorpVaultBase {
         MockEndpoint.assertIsSatisfied(context);
         Exchange ret = mockRead.getExchanges().get(0);
         assertNotNull(ret);
-        assertTrue(ret.getMessage().getBody(List.class).contains("test"));
-        assertEquals(1, ret.getMessage().getBody(List.class).size());
+        assertTrue(ret.getMessage().getBody(List.class).contains(secretPath()));
     }
 
     @Override
     protected RouteBuilder createRouteBuilder() {
+        final String path = secretPath();
         return new RouteBuilder() {
             @Override
             public void configure() {
                 from("direct:createSecret")
-                        .toF("hashicorp-vault://secret?operation=createSecret&token=RAW(%s)&host=%s&port=%s&scheme=http&secretPath=test",
-                                service.token(), service.host(), service.port())
+                        .toF("hashicorp-vault://secret?operation=createSecret&token=RAW(%s)&host=%s&port=%s&scheme=http&secretPath=%s",
+                                service.token(), service.host(), service.port(), path)
                         .to("mock:result-write");
 
                 from("direct:listSecrets")
-                        .toF("hashicorp-vault://secret?operation=listSecrets&token=RAW(%s)&host=%s&port=%s&scheme=http&secretPath=test",
-                                service.token(), service.host(), service.port())
+                        .toF("hashicorp-vault://secret?operation=listSecrets&token=RAW(%s)&host=%s&port=%s&scheme=http&secretPath=%s",
+                                service.token(), service.host(), service.port(), path)
                         .to("mock:result-list");
             }
         };
diff --git a/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerReadMultiVersionedSecretIT.java b/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerReadMultiVersionedSecretIT.java
index 4cedda7af0dc..03e8a7e6b739 100644
--- a/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerReadMultiVersionedSecretIT.java
+++ b/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerReadMultiVersionedSecretIT.java
@@ -63,7 +63,8 @@ public class HashicorpProducerReadMultiVersionedSecretIT extends HashicorpVaultB
         exchange = template.request("direct:readSecret", new Processor() {
             @Override
             public void process(Exchange exchange) {
-                exchange.getMessage().setHeader(HashicorpVaultConstants.SECRET_PATH, "test");
+                exchange.getMessage().setHeader(HashicorpVaultConstants.SECRET_PATH,
+                        secretPath());
                 exchange.getMessage().setHeader(HashicorpVaultConstants.SECRET_VERSION, "1");
             }
         });
@@ -77,12 +78,13 @@ public class HashicorpProducerReadMultiVersionedSecretIT extends HashicorpVaultB
 
     @Override
     protected RouteBuilder createRouteBuilder() {
+        final String path = secretPath();
         return new RouteBuilder() {
             @Override
             public void configure() {
                 from("direct:createSecret")
-                        .toF("hashicorp-vault://secret?operation=createSecret&token=RAW(%s)&host=%s&port=%s&scheme=http&secretPath=test",
-                                service.token(), service.host(), service.port())
+                        .toF("hashicorp-vault://secret?operation=createSecret&token=RAW(%s)&host=%s&port=%s&scheme=http&secretPath=%s",
+                                service.token(), service.host(), service.port(), path)
                         .to("mock:result-write");
 
                 from("direct:readSecret")
diff --git a/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerSecretPathHeaderIT.java b/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerSecretPathHeaderIT.java
index 818af00b396b..d4064636c2ce 100644
--- a/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerSecretPathHeaderIT.java
+++ b/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpProducerSecretPathHeaderIT.java
@@ -52,20 +52,21 @@ public class HashicorpProducerSecretPathHeaderIT extends HashicorpVaultBase {
             @Override
             public void process(Exchange exchange) {
                 Message message = exchange.getMessage();
-                message.setHeader(SECRET_PATH, "test");
+                message.setHeader(SECRET_PATH, secretPath());
                 exchange.getMessage().setBody(Map.of("integer", "30"));
             }
         });
         template.request("direct:readSecret", new Processor() {
             @Override
             public void process(Exchange exchange) {
-                exchange.getMessage().setHeader(HashicorpVaultConstants.SECRET_PATH, "test");
+                exchange.getMessage().setHeader(HashicorpVaultConstants.SECRET_PATH,
+                        secretPath());
             }
         });
         template.request("direct:deleteSecret", new Processor() {
             @Override
             public void process(Exchange exchange) {
-                exchange.getMessage().setHeader(SECRET_PATH, "test");
+                exchange.getMessage().setHeader(SECRET_PATH, secretPath());
             }
         });
 
diff --git a/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpVaultBase.java b/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpVaultBase.java
index d5b97a156d5b..fa7c738874b6 100644
--- a/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpVaultBase.java
+++ b/components/camel-hashicorp-vault/src/test/java/org/apache/camel/component/hashicorp/vault/integration/operations/HashicorpVaultBase.java
@@ -24,11 +24,15 @@ import org.junit.jupiter.api.extension.RegisterExtension;
 
 public class HashicorpVaultBase extends CamelTestSupport {
     @RegisterExtension
-    public static HashicorpVaultService service = HashicorpServiceFactory.createService();
+    public static HashicorpVaultService service = HashicorpServiceFactory.createSingletonService();
 
     @Override
     protected CamelContext createCamelContext() throws Exception {
         CamelContext context = super.createCamelContext();
         return context;
     }
+
+    protected String secretPath() {
+        return getClass().getSimpleName() + "-test";
+    }
 }
diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastConfigurationTest.java b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastConfigurationTest.java
index 97b288fcf927..bb801026063d 100644
--- a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastConfigurationTest.java
+++ b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastConfigurationTest.java
@@ -45,7 +45,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 class HazelcastConfigurationTest {
 
     @RegisterExtension
-    public static HazelcastService hazelcastService = HazelcastServiceFactory.createService();
+    public static HazelcastService hazelcastService = HazelcastServiceFactory.createSingletonService();
 
     @RegisterExtension
     public static TestEntityNameGenerator nameGenerator = new TestEntityNameGenerator();
diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastListProducerTest.java b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastListProducerTest.java
index 6e0fa70e5005..c89c653ffc2f 100644
--- a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastListProducerTest.java
+++ b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastListProducerTest.java
@@ -43,7 +43,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 public class HazelcastListProducerTest extends CamelTestSupport {
 
     @RegisterExtension
-    public static HazelcastService hazelcastService = HazelcastServiceFactory.createService();
+    public static HazelcastService hazelcastService = HazelcastServiceFactory.createSingletonService();
 
     @RegisterExtension
     public static TestEntityNameGenerator nameGenerator = new TestEntityNameGenerator();
diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastSedaTransferExchangeTest.java b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastSedaTransferExchangeTest.java
index 39b57e5c73bf..df51b1e44bc6 100644
--- a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastSedaTransferExchangeTest.java
+++ b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastSedaTransferExchangeTest.java
@@ -38,7 +38,7 @@ import org.junit.jupiter.api.extension.RegisterExtension;
 public class HazelcastSedaTransferExchangeTest extends CamelTestSupport {
 
     @RegisterExtension
-    public static HazelcastService hazelcastService = HazelcastServiceFactory.createService();
+    public static HazelcastService hazelcastService = HazelcastServiceFactory.createSingletonService();
 
     @RegisterExtension
     public static TestEntityNameGenerator nameGenerator = new TestEntityNameGenerator();
diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastSetProducerTest.java b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastSetProducerTest.java
index f59fab144360..7104d6928fab 100644
--- a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastSetProducerTest.java
+++ b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/HazelcastSetProducerTest.java
@@ -45,7 +45,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 public class HazelcastSetProducerTest extends CamelTestSupport {
 
     @RegisterExtension
-    public static HazelcastService hazelcastService = HazelcastServiceFactory.createService();
+    public static HazelcastService hazelcastService = HazelcastServiceFactory.createSingletonService();
 
     @RegisterExtension
     public static TestEntityNameGenerator nameGenerator = new TestEntityNameGenerator();
diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/policy/HazelcastRoutePolicyIT.java b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/policy/HazelcastRoutePolicyIT.java
index 05ae33a243ba..e42ce33566ce 100644
--- a/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/policy/HazelcastRoutePolicyIT.java
+++ b/components/camel-hazelcast/src/test/java/org/apache/camel/component/hazelcast/policy/HazelcastRoutePolicyIT.java
@@ -47,7 +47,7 @@ public class HazelcastRoutePolicyIT {
     private static final Logger LOGGER = LoggerFactory.getLogger(HazelcastRoutePolicyIT.class);
 
     @RegisterExtension
-    public static HazelcastService hazelcastService = HazelcastServiceFactory.createService();
+    public static HazelcastService hazelcastService = HazelcastServiceFactory.createSingletonService();
 
     private static final List<String> CLIENTS = IntStream.range(0, 3).mapToObj(Integer::toString).toList();
     private static final List<String> RESULTS = new ArrayList<>();
diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepositoryCamelTestSupport.java b/components/camel-hazelcast/src/test/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepositoryCamelTestSupport.java
index 0be8909a8eca..5c0329211acc 100644
--- a/components/camel-hazelcast/src/test/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepositoryCamelTestSupport.java
+++ b/components/camel-hazelcast/src/test/java/org/apache/camel/processor/aggregate/hazelcast/HazelcastAggregationRepositoryCamelTestSupport.java
@@ -31,7 +31,7 @@ import org.junit.jupiter.api.extension.RegisterExtension;
 public class HazelcastAggregationRepositoryCamelTestSupport extends CamelTestSupport {
 
     @RegisterExtension
-    public static HazelcastService hazelcastService = HazelcastServiceFactory.createService();
+    public static HazelcastService hazelcastService = HazelcastServiceFactory.createSingletonService();
 
     @RegisterExtension
     public static TestEntityNameGenerator nameGenerator = new TestEntityNameGenerator();
diff --git a/components/camel-hazelcast/src/test/java/org/apache/camel/processor/idempotent/hazelcast/HazelcastIdempotentRepositoryTest.java b/components/camel-hazelcast/src/test/java/org/apache/camel/processor/idempotent/hazelcast/HazelcastIdempotentRepositoryTest.java
index d6cd227dbabc..ed497f56c1ef 100644
--- a/components/camel-hazelcast/src/test/java/org/apache/camel/processor/idempotent/hazelcast/HazelcastIdempotentRepositoryTest.java
+++ b/components/camel-hazelcast/src/test/java/org/apache/camel/processor/idempotent/hazelcast/HazelcastIdempotentRepositoryTest.java
@@ -41,7 +41,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 public class HazelcastIdempotentRepositoryTest extends CamelTestSupport {
 
     @RegisterExtension
-    public static HazelcastService hazelcastService = HazelcastServiceFactory.createService();
+    public static HazelcastService hazelcastService = HazelcastServiceFactory.createSingletonService();
 
     @RegisterExtension
     public static TestEntityNameGenerator nameGenerator = new TestEntityNameGenerator();
diff --git a/components/camel-iggy/src/test/java/org/apache/camel/component/iggy/IggyTestBase.java b/components/camel-iggy/src/test/java/org/apache/camel/component/iggy/IggyTestBase.java
index 81e20f7d0af1..3eba5bb3e5b0 100644
--- a/components/camel-iggy/src/test/java/org/apache/camel/component/iggy/IggyTestBase.java
+++ b/components/camel-iggy/src/test/java/org/apache/camel/component/iggy/IggyTestBase.java
@@ -45,7 +45,7 @@ public abstract class IggyTestBase {
 
     @Order(1)
     @RegisterExtension
-    protected static IggyService iggyService = IggyServiceFactory.createService();
+    protected static IggyService iggyService = IggyServiceFactory.createSingletonService();
 
     @Order(2)
     @RegisterExtension
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsComponentIbmMQTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsComponentIbmMQTest.java
index 8d3018001ecc..8faba063dc1d 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsComponentIbmMQTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsComponentIbmMQTest.java
@@ -35,7 +35,7 @@ import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknow
 public class JmsComponentIbmMQTest extends CamelTestSupport {
 
     @RegisterExtension
-    public static IbmMQService service = IbmMQServiceFactory.createService();
+    public static IbmMQService service = IbmMQServiceFactory.createSingletonService();
 
     @Test
     public void testSend() throws Exception {
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsReplyToIbmMQTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsReplyToIbmMQTest.java
index 1f26b3ec4cc6..34f2dc609167 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsReplyToIbmMQTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsReplyToIbmMQTest.java
@@ -35,7 +35,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class JmsReplyToIbmMQTest extends CamelTestSupport {
 
     @RegisterExtension
-    public static IbmMQService service = IbmMQServiceFactory.createService();
+    public static IbmMQService service = IbmMQServiceFactory.createSingletonService();
 
     @Test
     public void testCustomJMSReplyToInOut() {
diff --git a/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/integration/BaseExclusiveKafkaTestSupport.java b/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/integration/BaseExclusiveKafkaTestSupport.java
index da2238f0f933..edb8095d6d59 100644
--- a/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/integration/BaseExclusiveKafkaTestSupport.java
+++ b/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/integration/BaseExclusiveKafkaTestSupport.java
@@ -37,7 +37,7 @@ import org.junit.jupiter.api.extension.RegisterExtension;
 public abstract class BaseExclusiveKafkaTestSupport implements ConfigurableRoute {
     @Order(1)
     @RegisterExtension
-    protected static KafkaService service = KafkaServiceFactory.createService();
+    protected static KafkaService service = KafkaServiceFactory.createSingletonService();
 
     @Order(2)
     @RegisterExtension
diff --git a/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/integration/health/KafkaHealthCheckTestSupport.java b/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/integration/health/KafkaHealthCheckTestSupport.java
index ab8a2c2b5262..c405467de134 100644
--- a/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/integration/health/KafkaHealthCheckTestSupport.java
+++ b/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/integration/health/KafkaHealthCheckTestSupport.java
@@ -47,7 +47,7 @@ abstract class KafkaHealthCheckTestSupport implements ConfigurableRoute, Configu
     protected static final Logger LOG = LoggerFactory.getLogger(KafkaConsumerUnresolvableHealthCheckIT.class);
     @Order(1)
     @RegisterExtension
-    protected static KafkaService service = KafkaServiceFactory.createService();
+    protected static KafkaService service = KafkaServiceFactory.createSingletonService();
 
     @Order(2)
     @RegisterExtension
diff --git a/components/camel-keycloak/src/test/java/org/apache/camel/component/keycloak/KeycloakConsumerIT.java b/components/camel-keycloak/src/test/java/org/apache/camel/component/keycloak/KeycloakConsumerIT.java
index 0bb0977e51c4..105edfc5e0fd 100644
--- a/components/camel-keycloak/src/test/java/org/apache/camel/component/keycloak/KeycloakConsumerIT.java
+++ b/components/camel-keycloak/src/test/java/org/apache/camel/component/keycloak/KeycloakConsumerIT.java
@@ -50,7 +50,7 @@ public class KeycloakConsumerIT extends CamelTestSupport {
     private static final Logger log = LoggerFactory.getLogger(KeycloakConsumerIT.class);
 
     @RegisterExtension
-    static KeycloakService keycloakService = KeycloakServiceFactory.createService();
+    static KeycloakService keycloakService = KeycloakServiceFactory.createSingletonService();
 
     // Test data - use unique names to avoid conflicts
     private static final String TEST_REALM_NAME = "consumer-test-realm-" + UUID.randomUUID().toString().substring(0, 8);
diff --git a/components/camel-keycloak/src/test/java/org/apache/camel/component/keycloak/KeycloakTestInfraIT.java b/components/camel-keycloak/src/test/java/org/apache/camel/component/keycloak/KeycloakTestInfraIT.java
index cd7dacb39a2d..eb48ee74cfa1 100644
--- a/components/camel-keycloak/src/test/java/org/apache/camel/component/keycloak/KeycloakTestInfraIT.java
+++ b/components/camel-keycloak/src/test/java/org/apache/camel/component/keycloak/KeycloakTestInfraIT.java
@@ -59,7 +59,7 @@ public class KeycloakTestInfraIT extends CamelTestSupport {
     private static final Logger log = LoggerFactory.getLogger(KeycloakTestInfraIT.class);
 
     @RegisterExtension
-    static KeycloakService keycloakService = KeycloakServiceFactory.createService();
+    static KeycloakService keycloakService = KeycloakServiceFactory.createSingletonService();
 
     // Test data - use unique names to avoid conflicts
     private static final String TEST_REALM_NAME = "testinfra-realm-" + UUID.randomUUID().toString().substring(0, 8);
diff --git a/components/camel-keycloak/src/test/java/org/apache/camel/component/keycloak/security/KeycloakSecurityTestInfraIT.java b/components/camel-keycloak/src/test/java/org/apache/camel/component/keycloak/security/KeycloakSecurityTestInfraIT.java
index 375fa9ab7696..b54360159269 100644
--- a/components/camel-keycloak/src/test/java/org/apache/camel/component/keycloak/security/KeycloakSecurityTestInfraIT.java
+++ b/components/camel-keycloak/src/test/java/org/apache/camel/component/keycloak/security/KeycloakSecurityTestInfraIT.java
@@ -77,7 +77,7 @@ public class KeycloakSecurityTestInfraIT extends CamelTestSupport {
     private static final Logger log = LoggerFactory.getLogger(KeycloakSecurityTestInfraIT.class);
 
     @RegisterExtension
-    static KeycloakService keycloakService = KeycloakServiceFactory.createService();
+    static KeycloakService keycloakService = KeycloakServiceFactory.createSingletonService();
 
     // Test data - use unique names to avoid conflicts
     private static final String TEST_REALM_NAME = "security-test-realm-" + UUID.randomUUID().toString().substring(0, 8);
diff --git a/components/camel-keycloak/src/test/java/org/apache/camel/component/keycloak/security/KeycloakTokenBindingSecurityIT.java b/components/camel-keycloak/src/test/java/org/apache/camel/component/keycloak/security/KeycloakTokenBindingSecurityIT.java
index d1430cb8cf63..6957c52bb790 100644
--- a/components/camel-keycloak/src/test/java/org/apache/camel/component/keycloak/security/KeycloakTokenBindingSecurityIT.java
+++ b/components/camel-keycloak/src/test/java/org/apache/camel/component/keycloak/security/KeycloakTokenBindingSecurityIT.java
@@ -69,7 +69,7 @@ public class KeycloakTokenBindingSecurityIT extends CamelTestSupport {
     private static final Logger log = LoggerFactory.getLogger(KeycloakTokenBindingSecurityIT.class);
 
     @RegisterExtension
-    static KeycloakService keycloakService = KeycloakServiceFactory.createService();
+    static KeycloakService keycloakService = KeycloakServiceFactory.createSingletonService();
 
     // Test data - use unique names
     private static final String TEST_REALM_NAME = "token-binding-realm-" + UUID.randomUUID().toString().substring(0, 8);
diff --git a/components/camel-keycloak/src/test/java/org/apache/camel/component/keycloak/security/KeycloakTokenIntrospectionIT.java b/components/camel-keycloak/src/test/java/org/apache/camel/component/keycloak/security/KeycloakTokenIntrospectionIT.java
index 72715c0a2a07..2c2715bb5413 100644
--- a/components/camel-keycloak/src/test/java/org/apache/camel/component/keycloak/security/KeycloakTokenIntrospectionIT.java
+++ b/components/camel-keycloak/src/test/java/org/apache/camel/component/keycloak/security/KeycloakTokenIntrospectionIT.java
@@ -73,7 +73,7 @@ public class KeycloakTokenIntrospectionIT extends CamelTestSupport {
     private static final Logger LOG = LoggerFactory.getLogger(KeycloakTokenIntrospectionIT.class);
 
     @RegisterExtension
-    static KeycloakService keycloakService = KeycloakServiceFactory.createService();
+    static KeycloakService keycloakService = KeycloakServiceFactory.createSingletonService();
 
     // Test data - use unique names to avoid conflicts
     private static final String TEST_REALM_NAME = "introspection-realm-" + UUID.randomUUID().toString().substring(0, 8);
diff --git a/components/camel-ldif/src/test/java/org/apache/camel/component/ldif/LdifTestSupport.java b/components/camel-ldif/src/test/java/org/apache/camel/component/ldif/LdifTestSupport.java
index 3cbab66c3182..2906c0408714 100644
--- a/components/camel-ldif/src/test/java/org/apache/camel/component/ldif/LdifTestSupport.java
+++ b/components/camel-ldif/src/test/java/org/apache/camel/component/ldif/LdifTestSupport.java
@@ -23,7 +23,7 @@ import org.junit.jupiter.api.extension.RegisterExtension;
 
 public class LdifTestSupport extends CamelTestSupport {
     @RegisterExtension
-    public static OpenldapService service = OpenldapServiceFactory.createService();
+    public static OpenldapService service = OpenldapServiceFactory.createSingletonService();
 
     protected int port;
 
diff --git a/components/camel-minio/src/test/java/org/apache/camel/component/minio/integration/MinioIntegrationTestSupport.java b/components/camel-minio/src/test/java/org/apache/camel/component/minio/integration/MinioIntegrationTestSupport.java
index 048987d1e73b..5d74652ba296 100644
--- a/components/camel-minio/src/test/java/org/apache/camel/component/minio/integration/MinioIntegrationTestSupport.java
+++ b/components/camel-minio/src/test/java/org/apache/camel/component/minio/integration/MinioIntegrationTestSupport.java
@@ -23,6 +23,6 @@ import org.junit.jupiter.api.extension.RegisterExtension;
 
 class MinioIntegrationTestSupport extends CamelTestSupport {
     @RegisterExtension
-    static MinioService service = MinioServiceFactory.createService();
+    static MinioService service = MinioServiceFactory.createSingletonService();
 
 }
diff --git a/components/camel-mongodb-gridfs/src/test/java/org/apache/camel/component/mongodb/gridfs/integration/AbstractMongoDbITSupport.java b/components/camel-mongodb-gridfs/src/test/java/org/apache/camel/component/mongodb/gridfs/integration/AbstractMongoDbITSupport.java
index 77dba660cf3f..dd7e4ef67997 100644
--- a/components/camel-mongodb-gridfs/src/test/java/org/apache/camel/component/mongodb/gridfs/integration/AbstractMongoDbITSupport.java
+++ b/components/camel-mongodb-gridfs/src/test/java/org/apache/camel/component/mongodb/gridfs/integration/AbstractMongoDbITSupport.java
@@ -29,7 +29,7 @@ import org.junit.jupiter.api.extension.RegisterExtension;
 
 public abstract class AbstractMongoDbITSupport extends CamelTestSupport {
     @RegisterExtension
-    public static MongoDBService service = MongoDBServiceFactory.createService();
+    public static MongoDBService service = MongoDBServiceFactory.createSingletonService();
 
     protected static final String FILE_NAME = "filename.for.db.txt";
     protected static final String FILE_DATA = "This is some stuff to go into the db";
diff --git a/components/camel-nats/src/test/java/org/apache/camel/component/nats/integration/NatsITSupport.java b/components/camel-nats/src/test/java/org/apache/camel/component/nats/integration/NatsITSupport.java
index 2ce8e2c09204..b3ba6c165d2e 100644
--- a/components/camel-nats/src/test/java/org/apache/camel/component/nats/integration/NatsITSupport.java
+++ b/components/camel-nats/src/test/java/org/apache/camel/component/nats/integration/NatsITSupport.java
@@ -31,7 +31,7 @@ import org.slf4j.LoggerFactory;
 
 public class NatsITSupport extends CamelTestSupport {
     @RegisterExtension
-    static NatsService service = NatsServiceFactory.createService();
+    static NatsService service = NatsServiceFactory.createSingletonService();
 
     static {
         try (InputStream is = NatsITSupport.class.getClassLoader().getResourceAsStream("logging.properties")) {
diff --git a/components/camel-paho-mqtt5/src/test/java/org/apache/camel/component/paho/mqtt5/integration/PahoMqtt5ITSupport.java b/components/camel-paho-mqtt5/src/test/java/org/apache/camel/component/paho/mqtt5/integration/PahoMqtt5ITSupport.java
index 6ccd2f8839ab..7afd5244bf90 100644
--- a/components/camel-paho-mqtt5/src/test/java/org/apache/camel/component/paho/mqtt5/integration/PahoMqtt5ITSupport.java
+++ b/components/camel-paho-mqtt5/src/test/java/org/apache/camel/component/paho/mqtt5/integration/PahoMqtt5ITSupport.java
@@ -23,7 +23,7 @@ import org.junit.jupiter.api.extension.RegisterExtension;
 
 public abstract class PahoMqtt5ITSupport extends CamelTestSupport {
     @RegisterExtension
-    public static MosquittoService service = MosquittoServiceFactory.createService();
+    public static MosquittoService service = MosquittoServiceFactory.createSingletonService();
 
     protected int mqttPort;
 
diff --git a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/HashicorpVaultKeyLifecycleIT.java b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/HashicorpVaultKeyLifecycleIT.java
index 2aa0b76c93dd..088e56f511fc 100644
--- a/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/HashicorpVaultKeyLifecycleIT.java
+++ b/components/camel-pqc/src/test/java/org/apache/camel/component/pqc/HashicorpVaultKeyLifecycleIT.java
@@ -48,7 +48,7 @@ import static org.junit.jupiter.api.Assertions.*;
 public class HashicorpVaultKeyLifecycleIT extends CamelTestSupport {
 
     @RegisterExtension
-    public static HashicorpVaultService service = HashicorpServiceFactory.createService();
+    public static HashicorpVaultService service = HashicorpServiceFactory.createSingletonService();
 
     private HashicorpVaultKeyLifecycleManager keyManager;
 
diff --git a/components/camel-redis/src/test/java/org/apache/camel/component/redis/processor/aggregate/integration/AggregateRedisIT.java b/components/camel-redis/src/test/java/org/apache/camel/component/redis/processor/aggregate/integration/AggregateRedisIT.java
index bcb71f10570d..e921fd0f5a12 100644
--- a/components/camel-redis/src/test/java/org/apache/camel/component/redis/processor/aggregate/integration/AggregateRedisIT.java
+++ b/components/camel-redis/src/test/java/org/apache/camel/component/redis/processor/aggregate/integration/AggregateRedisIT.java
@@ -35,7 +35,7 @@ import org.junit.jupiter.api.extension.RegisterExtension;
 public class AggregateRedisIT extends CamelTestSupport {
 
     @RegisterExtension
-    static RedisService service = RedisServiceFactory.createService();
+    static RedisService service = RedisServiceFactory.createSingletonService();
 
     @Test
     public void testABC() throws Exception {
diff --git a/components/camel-solr/src/test/java/org/apache/camel/component/solr/integration/SolrTestSupport.java b/components/camel-solr/src/test/java/org/apache/camel/component/solr/integration/SolrTestSupport.java
index 33bea4a09f4b..39e5b7078431 100644
--- a/components/camel-solr/src/test/java/org/apache/camel/component/solr/integration/SolrTestSupport.java
+++ b/components/camel-solr/src/test/java/org/apache/camel/component/solr/integration/SolrTestSupport.java
@@ -56,7 +56,7 @@ public abstract class SolrTestSupport implements CamelTestSupportHelper, Configu
 
     @Order(1)
     @RegisterExtension
-    public static final SolrService service = SolrServiceFactory.createService();
+    public static final SolrService service = SolrServiceFactory.createSingletonService();
 
     @Order(2)
     @RegisterExtension
diff --git a/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-chat/src/test/java/org/apache/camel/component/springai/chat/SpringAiChatMcpSseIT.java b/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-chat/src/test/java/org/apache/camel/component/springai/chat/SpringAiChatMcpSseIT.java
index decd9ff56efd..b8ca660fc33c 100644
--- a/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-chat/src/test/java/org/apache/camel/component/springai/chat/SpringAiChatMcpSseIT.java
+++ b/components/camel-spring-parent/camel-spring-ai/camel-spring-ai-chat/src/test/java/org/apache/camel/component/springai/chat/SpringAiChatMcpSseIT.java
@@ -34,7 +34,7 @@ import static org.assertj.core.api.Assertions.assertThat;
 public class SpringAiChatMcpSseIT extends OllamaTestSupport {
 
     @RegisterExtension
-    static McpEverythingSseService MCP_EVERYTHING = McpEverythingSseServiceFactory.createService();
+    static McpEverythingSseService MCP_EVERYTHING = McpEverythingSseServiceFactory.createSingletonService();
 
     @Test
     public void testMcpEchoTool() {
diff --git a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQBasicIT.java b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQBasicIT.java
index c550090f0df4..523f2dff667b 100644
--- a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQBasicIT.java
+++ b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQBasicIT.java
@@ -37,11 +37,13 @@ public class RabbitMQBasicIT extends RabbitMQITSupport {
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         ConnectionProperties connectionProperties = service.connectionProperties();
-        foo = String.format("spring-rabbitmq:%s:%d/foo?username=%s&password=%s", connectionProperties.hostname(),
-                connectionProperties.port(), connectionProperties.username(), connectionProperties.password());
+        foo = String.format("spring-rabbitmq:%s:%d/%s?username=%s&password=%s", connectionProperties.hostname(),
+                connectionProperties.port(), uniqueName("foo"), connectionProperties.username(),
+                connectionProperties.password());
 
-        bar = String.format("spring-rabbitmq:%s:%d/bar?username=%s&password=%s", connectionProperties.hostname(),
-                connectionProperties.port(), connectionProperties.username(), connectionProperties.password());
+        bar = String.format("spring-rabbitmq:%s:%d/%s?username=%s&password=%s", connectionProperties.hostname(),
+                connectionProperties.port(), uniqueName("bar"), connectionProperties.username(),
+                connectionProperties.password());
 
         return new RouteBuilder() {
             @Override
diff --git a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQComponentNullBodyIT.java b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQComponentNullBodyIT.java
index e29557a4d403..9e3fcac38423 100644
--- a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQComponentNullBodyIT.java
+++ b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQComponentNullBodyIT.java
@@ -43,8 +43,8 @@ public class RabbitMQComponentNullBodyIT extends RabbitMQITSupport {
     public void testProducer() {
         ConnectionFactory cf = context.getRegistry().lookupByNameAndType("myCF", ConnectionFactory.class);
 
-        Queue q = new Queue("myqueue");
-        TopicExchange t = new TopicExchange("foo");
+        Queue q = new Queue(uniqueName("myqueue"));
+        TopicExchange t = new TopicExchange(uniqueName("foo"));
 
         AmqpAdmin admin = new RabbitAdmin(cf);
         admin.declareQueue(q);
@@ -60,7 +60,7 @@ public class RabbitMQComponentNullBodyIT extends RabbitMQITSupport {
             @Override
             public void configure() throws Exception {
                 from("direct:start")
-                        .to("spring-rabbitmq:foo?routingKey=foo.bar");
+                        .to("spring-rabbitmq:" + uniqueName("foo") + "?routingKey=foo.bar");
             }
         };
     }
diff --git a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQConsumerIT.java b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQConsumerIT.java
index 2c54d2780355..964b812304e7 100644
--- a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQConsumerIT.java
+++ b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQConsumerIT.java
@@ -40,9 +40,9 @@ public class RabbitMQConsumerIT extends RabbitMQITSupport {
             @Override
             public void configure() throws Exception {
                 from("direct:start")
-                        .to("spring-rabbitmq:foo");
+                        .to("spring-rabbitmq:" + uniqueName("foo"));
 
-                from("spring-rabbitmq:foo")
+                from("spring-rabbitmq:" + uniqueName("foo"))
                         .to("log:result")
                         .to("mock:result");
             }
diff --git a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQConsumerPooledExchangeIT.java b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQConsumerPooledExchangeIT.java
index 979ade17c1ac..1949700af55f 100644
--- a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQConsumerPooledExchangeIT.java
+++ b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQConsumerPooledExchangeIT.java
@@ -59,9 +59,9 @@ public class RabbitMQConsumerPooledExchangeIT extends RabbitMQITSupport {
             @Override
             public void configure() throws Exception {
                 from("direct:start")
-                        .to("spring-rabbitmq:foo");
+                        .to("spring-rabbitmq:" + uniqueName("foo"));
 
-                from("spring-rabbitmq:foo")
+                from("spring-rabbitmq:" + uniqueName("foo"))
                         .to("log:result")
                         .to("mock:result");
             }
diff --git a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQConsumerQueuesIT.java b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQConsumerQueuesIT.java
index 4cfa47e10953..a94131af19cd 100644
--- a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQConsumerQueuesIT.java
+++ b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQConsumerQueuesIT.java
@@ -106,9 +106,9 @@ public class RabbitMQConsumerQueuesIT extends RabbitMQITSupport {
             @Override
             public void configure() throws Exception {
                 from("direct:start")
-                        .to("spring-rabbitmq:foo");
+                        .to("spring-rabbitmq:" + uniqueName("foo"));
 
-                from("spring-rabbitmq:foo?queues=myqueue")
+                from("spring-rabbitmq:" + uniqueName("foo") + "?queues=" + uniqueName("myqueue"))
                         .to("log:result")
                         .to("mock:result");
             }
diff --git a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQConsumerRoutingKeyIT.java b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQConsumerRoutingKeyIT.java
index 8d3a0475f7b0..ec7392959490 100644
--- a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQConsumerRoutingKeyIT.java
+++ b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQConsumerRoutingKeyIT.java
@@ -73,9 +73,9 @@ public class RabbitMQConsumerRoutingKeyIT extends RabbitMQITSupport {
             @Override
             public void configure() throws Exception {
                 from("direct:start")
-                        .to("spring-rabbitmq:foo?routingKey=foo.bar");
+                        .to("spring-rabbitmq:" + uniqueName("foo") + "?routingKey=foo.bar");
 
-                from("spring-rabbitmq:foo?queues=myqueue&routingKey=foo.bar")
+                from("spring-rabbitmq:" + uniqueName("foo") + "?queues=" + uniqueName("myqueue") + "&routingKey=foo.bar")
                         .to("log:result")
                         .to("mock:result");
             }
diff --git a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQConsumerTopicIT.java b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQConsumerTopicIT.java
index f577a52b79cd..2d5811eb02d9 100644
--- a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQConsumerTopicIT.java
+++ b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQConsumerTopicIT.java
@@ -73,9 +73,10 @@ public class RabbitMQConsumerTopicIT extends RabbitMQITSupport {
             @Override
             public void configure() throws Exception {
                 from("direct:start")
-                        .to("spring-rabbitmq:foo?routingKey=foo.bar");
+                        .to("spring-rabbitmq:" + uniqueName("foo") + "?routingKey=foo.bar");
 
-                from("spring-rabbitmq:foo?exchangeType=topic&queues=myqueue&routingKey=foo.#")
+                from("spring-rabbitmq:" + uniqueName("foo") + "?exchangeType=topic&queues=" + uniqueName("myqueue")
+                     + "&routingKey=foo.#")
                         .to("log:result")
                         .to("mock:result");
             }
diff --git a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQITSupport.java b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQITSupport.java
index 45434d273825..fc87a6b33ac2 100644
--- a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQITSupport.java
+++ b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQITSupport.java
@@ -30,10 +30,14 @@ import org.springframework.amqp.rabbit.connection.ConnectionFactory;
 public abstract class RabbitMQITSupport extends CamelTestSupport {
 
     @RegisterExtension
-    public static RabbitMQService service = RabbitMQServiceFactory.createService();
+    public static RabbitMQService service = RabbitMQServiceFactory.createSingletonService();
 
     protected Logger log = LoggerFactory.getLogger(getClass());
 
+    protected String uniqueName(String baseName) {
+        return getClass().getSimpleName() + "-" + baseName;
+    }
+
     ConnectionFactory createConnectionFactory(boolean confirm) {
         CachingConnectionFactory cf = new CachingConnectionFactory();
         if (confirm) {
diff --git a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQInOutIT.java b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQInOutIT.java
index f0f873d2e202..9ce6e8c90ff1 100644
--- a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQInOutIT.java
+++ b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQInOutIT.java
@@ -56,11 +56,12 @@ public class RabbitMQInOutIT extends RabbitMQITSupport {
                 from("direct:start")
                         .setVariable("global:mycrmb", header(Exchange.BREADCRUMB_ID))
                         .to("log:request")
-                        .to(ExchangePattern.InOut, "spring-rabbitmq:cheese?routingKey=foo.bar")
+                        .to(ExchangePattern.InOut, "spring-rabbitmq:" + uniqueName("cheese") + "?routingKey=foo.bar")
                         .to("log:response")
                         .to("mock:result");
 
-                from("spring-rabbitmq:cheese?queues=myqueue&routingKey=foo.bar")
+                from("spring-rabbitmq:" + uniqueName("cheese") + "?queues=" + uniqueName("myqueue")
+                     + "&routingKey=foo.bar")
                         .to("log:input")
                         .to("mock:input")
                         .transform(body().prepend("Hello "));
diff --git a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQPollingConsumerIT.java b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQPollingConsumerIT.java
index 5a6b3ba5a820..5e32ad8b80a9 100644
--- a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQPollingConsumerIT.java
+++ b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQPollingConsumerIT.java
@@ -39,8 +39,8 @@ public class RabbitMQPollingConsumerIT extends RabbitMQITSupport {
 
         ConnectionFactory cf = context.getRegistry().lookupByNameAndType("myCF", ConnectionFactory.class);
 
-        Queue q = new Queue("myqueue");
-        DirectExchange t = new DirectExchange("foo");
+        Queue q = new Queue(uniqueName("myqueue"));
+        DirectExchange t = new DirectExchange(uniqueName("foo"));
         AmqpAdmin admin = new RabbitAdmin(cf);
         admin.declareQueue(q);
         admin.declareExchange(t);
@@ -57,8 +57,10 @@ public class RabbitMQPollingConsumerIT extends RabbitMQITSupport {
         // 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("spring-rabbitmq:foo?queues=myqueue&routingKey=mykey", String.class);
-            template.sendBody("spring-rabbitmq:foo?routingKey=mykey2", body + " Claus");
+            String body = consumer.receiveBody(
+                    "spring-rabbitmq:" + uniqueName("foo") + "?queues=" + uniqueName("myqueue") + "&routingKey=mykey",
+                    String.class);
+            template.sendBody("spring-rabbitmq:" + uniqueName("foo") + "?routingKey=mykey2", body + " Claus");
         });
 
         // wait a little to demonstrate we can start poll before we have a msg on the queue
@@ -77,10 +79,12 @@ public class RabbitMQPollingConsumerIT extends RabbitMQITSupport {
         // 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("spring-rabbitmq:foo?queues=myqueue&routingKey=mykey", 100, String.class);
+            String body = consumer.receiveBody(
+                    "spring-rabbitmq:" + uniqueName("foo") + "?queues=" + uniqueName("myqueue") + "&routingKey=mykey",
+                    100, String.class);
             assertNull(body, "Should be null");
 
-            template.sendBody("spring-rabbitmq:foo?routingKey=mykey2", "Hello Claus");
+            template.sendBody("spring-rabbitmq:" + uniqueName("foo") + "?routingKey=mykey2", "Hello Claus");
         });
 
         // wait a little to demonstrate we can start poll before we have a msg on the queue
@@ -99,8 +103,10 @@ public class RabbitMQPollingConsumerIT extends RabbitMQITSupport {
         // 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("spring-rabbitmq:foo?queues=myqueue&routingKey=mykey", 3000, String.class);
-            template.sendBody("spring-rabbitmq:foo?routingKey=mykey2", body + " Claus");
+            String body = consumer.receiveBody(
+                    "spring-rabbitmq:" + uniqueName("foo") + "?queues=" + uniqueName("myqueue") + "&routingKey=mykey",
+                    3000, String.class);
+            template.sendBody("spring-rabbitmq:" + uniqueName("foo") + "?routingKey=mykey2", body + " Claus");
         });
 
         // wait a little to demonstrate we can start poll before we have a msg on the queue
@@ -116,9 +122,11 @@ public class RabbitMQPollingConsumerIT extends RabbitMQITSupport {
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                from("direct:start").log("Sending ${body} to myqueue").to("spring-rabbitmq:foo?routingKey=mykey");
+                from("direct:start").log("Sending ${body} to myqueue")
+                        .to("spring-rabbitmq:" + uniqueName("foo") + "?routingKey=mykey");
 
-                from("spring-rabbitmq:foo?queues=myqueue2&routingKey=mykey2").log("Received ${body} from myqueue2")
+                from("spring-rabbitmq:" + uniqueName("foo") + "?queues=" + uniqueName("myqueue2") + "&routingKey=mykey2")
+                        .log("Received ${body} from myqueue2")
                         .to("mock:result");
             }
         };
diff --git a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerAutoDeclareIT.java b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerAutoDeclareIT.java
index b932c776f064..0481ddc1202f 100644
--- a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerAutoDeclareIT.java
+++ b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerAutoDeclareIT.java
@@ -42,7 +42,7 @@ public class RabbitMQProducerAutoDeclareIT extends RabbitMQITSupport {
         template.sendBody("direct:start", "Hello World");
 
         AmqpTemplate template = new RabbitTemplate(cf);
-        String out = (String) template.receiveAndConvert("myqueue");
+        String out = (String) template.receiveAndConvert(uniqueName("myqueue"));
         Assertions.assertEquals("Hello World", out);
     }
 
@@ -53,7 +53,7 @@ public class RabbitMQProducerAutoDeclareIT extends RabbitMQITSupport {
         template.sendBodyAndHeader("direct:start", "Hello World", "cheese", "gouda");
 
         AmqpTemplate template = new RabbitTemplate(cf);
-        Message out = template.receive("myqueue");
+        Message out = template.receive(uniqueName("myqueue"));
 
         byte[] body = out.getBody();
         Assertions.assertNotNull(body, "The body should not be null");
@@ -77,7 +77,7 @@ public class RabbitMQProducerAutoDeclareIT extends RabbitMQITSupport {
         template.sendBody("direct:start", body);
 
         AmqpTemplate template = new RabbitTemplate(cf);
-        Message out = template.receive("myqueue");
+        Message out = template.receive(uniqueName("myqueue"));
         Assertions.assertEquals("foo", new String(out.getBody()));
         Assertions.assertEquals("baz", out.getMessageProperties().getHeader("bar"));
     }
@@ -94,7 +94,7 @@ public class RabbitMQProducerAutoDeclareIT extends RabbitMQITSupport {
                         SpringRabbitMQConstants.PRIORITY, 1));
 
         AmqpTemplate template = new RabbitTemplate(cf);
-        Message out = template.receive("myqueue");
+        Message out = template.receive(uniqueName("myqueue"));
 
         final MessageProperties messageProperties = out.getMessageProperties();
         Assertions.assertNotNull(messageProperties, "The message properties should not be null");
@@ -115,7 +115,9 @@ public class RabbitMQProducerAutoDeclareIT extends RabbitMQITSupport {
             @Override
             public void configure() throws Exception {
                 from("direct:start")
-                        .to("spring-rabbitmq:foo?autoDeclareProducer=true&routingKey=foo.bar.#&queues=myqueue&exchangeType=topic");
+                        .to("spring-rabbitmq:" + uniqueName("foo")
+                            + "?autoDeclareProducer=true&routingKey=foo.bar.#&queues=" + uniqueName("myqueue")
+                            + "&exchangeType=topic");
             }
         };
     }
diff --git a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerIT.java b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerIT.java
index 95e43ebe48d2..f272e3627c87 100644
--- a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerIT.java
+++ b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerIT.java
@@ -57,8 +57,8 @@ public class RabbitMQProducerIT extends RabbitMQITSupport {
         // --- 1. AMQP Setup ---
         // Ensures the RabbitMQ queue, exchange, and binding exist before the test.
         ConnectionFactory cf = context.getRegistry().lookupByNameAndType("myCF", ConnectionFactory.class);
-        Queue q = new Queue("myqueue");
-        TopicExchange t = new TopicExchange("foo");
+        Queue q = new Queue(uniqueName("myqueue"));
+        TopicExchange t = new TopicExchange(uniqueName("foo"));
         AmqpAdmin admin = new RabbitAdmin(cf);
         admin.declareQueue(q);
         admin.declareExchange(t);
@@ -115,7 +115,7 @@ public class RabbitMQProducerIT extends RabbitMQITSupport {
         StopWatch lastMessageStopWatch = new StopWatch();
         final long idleTimeoutMillis = 2000; // 2 seconds
         while (true) {
-            Object receivedMessage = rabbitConsumerTemplate.receiveAndConvert("myqueue");
+            Object receivedMessage = rabbitConsumerTemplate.receiveAndConvert(uniqueName("myqueue"));
 
             if (receivedMessage != null) {
                 // If we got a message, increment count and reset the idle timer.
@@ -140,8 +140,8 @@ public class RabbitMQProducerIT extends RabbitMQITSupport {
     public void testProducer() throws Exception {
         ConnectionFactory cf = context.getRegistry().lookupByNameAndType("myCF", ConnectionFactory.class);
 
-        Queue q = new Queue("myqueue");
-        TopicExchange t = new TopicExchange("foo");
+        Queue q = new Queue(uniqueName("myqueue"));
+        TopicExchange t = new TopicExchange(uniqueName("foo"));
 
         AmqpAdmin admin = new RabbitAdmin(cf);
         admin.declareQueue(q);
@@ -151,7 +151,7 @@ public class RabbitMQProducerIT extends RabbitMQITSupport {
         template.sendBody("direct:start", "Hello World");
 
         AmqpTemplate template = new RabbitTemplate(cf);
-        String out = (String) template.receiveAndConvert("myqueue");
+        String out = (String) template.receiveAndConvert(uniqueName("myqueue"));
         Assertions.assertEquals("Hello World", out);
     }
 
@@ -159,8 +159,8 @@ public class RabbitMQProducerIT extends RabbitMQITSupport {
     public void testProducerWithHeader() throws Exception {
         ConnectionFactory cf = context.getRegistry().lookupByNameAndType("myCF", ConnectionFactory.class);
 
-        Queue q = new Queue("myqueue");
-        TopicExchange t = new TopicExchange("foo");
+        Queue q = new Queue(uniqueName("myqueue"));
+        TopicExchange t = new TopicExchange(uniqueName("foo"));
 
         AmqpAdmin admin = new RabbitAdmin(cf);
         admin.declareQueue(q);
@@ -170,7 +170,7 @@ public class RabbitMQProducerIT extends RabbitMQITSupport {
         template.sendBodyAndHeader("direct:start", "Hello World", "cheese", "gouda");
 
         AmqpTemplate template = new RabbitTemplate(cf);
-        Message out = template.receive("myqueue");
+        Message out = template.receive(uniqueName("myqueue"));
 
         byte[] body = out.getBody();
         Assertions.assertNotNull(body, "The body should not be null");
@@ -182,8 +182,8 @@ public class RabbitMQProducerIT extends RabbitMQITSupport {
     public void testProducerWithMessage() throws Exception {
         ConnectionFactory cf = context.getRegistry().lookupByNameAndType("myCF", ConnectionFactory.class);
 
-        Queue q = new Queue("myqueue");
-        TopicExchange t = new TopicExchange("foo");
+        Queue q = new Queue(uniqueName("myqueue"));
+        TopicExchange t = new TopicExchange(uniqueName("foo"));
 
         AmqpAdmin admin = new RabbitAdmin(cf);
         admin.declareQueue(q);
@@ -202,7 +202,7 @@ public class RabbitMQProducerIT extends RabbitMQITSupport {
         template.sendBody("direct:start", body);
 
         AmqpTemplate template = new RabbitTemplate(cf);
-        Message out = template.receive("myqueue");
+        Message out = template.receive(uniqueName("myqueue"));
         Assertions.assertEquals("foo", new String(out.getBody()));
         Assertions.assertEquals("baz", out.getMessageProperties().getHeader("bar"));
     }
@@ -211,8 +211,8 @@ public class RabbitMQProducerIT extends RabbitMQITSupport {
     public void testProducerWithMessageProperties() throws Exception {
         ConnectionFactory cf = context.getRegistry().lookupByNameAndType("myCF", ConnectionFactory.class);
 
-        Queue q = new Queue("myqueue");
-        TopicExchange t = new TopicExchange("foo");
+        Queue q = new Queue(uniqueName("myqueue"));
+        TopicExchange t = new TopicExchange(uniqueName("foo"));
 
         AmqpAdmin admin = new RabbitAdmin(cf);
         admin.declareQueue(q);
@@ -227,7 +227,7 @@ public class RabbitMQProducerIT extends RabbitMQITSupport {
                         SpringRabbitMQConstants.PRIORITY, 1));
 
         AmqpTemplate template = new RabbitTemplate(cf);
-        Message out = template.receive("myqueue");
+        Message out = template.receive(uniqueName("myqueue"));
 
         final MessageProperties messageProperties = out.getMessageProperties();
         Assertions.assertNotNull(messageProperties, "The message properties should not be null");
@@ -246,8 +246,8 @@ public class RabbitMQProducerIT extends RabbitMQITSupport {
     public void testProducerWithBreadcrumb() throws Exception {
         ConnectionFactory cf = context.getRegistry().lookupByNameAndType("myCF", ConnectionFactory.class);
 
-        Queue q = new Queue("myqueue");
-        TopicExchange t = new TopicExchange("foo");
+        Queue q = new Queue(uniqueName("myqueue"));
+        TopicExchange t = new TopicExchange(uniqueName("foo"));
 
         AmqpAdmin admin = new RabbitAdmin(cf);
         admin.declareQueue(q);
@@ -259,7 +259,7 @@ public class RabbitMQProducerIT extends RabbitMQITSupport {
                         SpringRabbitMQConstants.TYPE, "price", Exchange.BREADCRUMB_ID, "mycrumb123"));
 
         AmqpTemplate template = new RabbitTemplate(cf);
-        Message out = template.receive("myqueue");
+        Message out = template.receive(uniqueName("myqueue"));
 
         final MessageProperties messageProperties = out.getMessageProperties();
         Assertions.assertNotNull(messageProperties, "The message properties should not be null");
@@ -277,7 +277,7 @@ public class RabbitMQProducerIT extends RabbitMQITSupport {
             @Override
             public void configure() throws Exception {
                 from("direct:start")
-                        .to("spring-rabbitmq:foo?routingKey=foo.bar");
+                        .to("spring-rabbitmq:" + uniqueName("foo") + "?routingKey=foo.bar");
             }
         };
     }
diff --git a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerInvalidExchangeIT.java b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerInvalidExchangeIT.java
index efa4e5aef018..f5777e6d3b85 100644
--- a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerInvalidExchangeIT.java
+++ b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerInvalidExchangeIT.java
@@ -40,8 +40,8 @@ public class RabbitMQProducerInvalidExchangeIT extends RabbitMQITSupport {
     public void testProducer() {
         ConnectionFactory cf = context.getRegistry().lookupByNameAndType("myCF", ConnectionFactory.class);
 
-        Queue q = new Queue("myqueue");
-        TopicExchange t = new TopicExchange("foo");
+        Queue q = new Queue(uniqueName("myqueue"));
+        TopicExchange t = new TopicExchange(uniqueName("foo"));
 
         AmqpAdmin admin = new RabbitAdmin(cf);
         admin.declareQueue(q);
@@ -59,7 +59,7 @@ public class RabbitMQProducerInvalidExchangeIT extends RabbitMQITSupport {
             @Override
             public void configure() throws Exception {
                 from("direct:start")
-                        .to("spring-rabbitmq:unknown?routingKey=foo.bar");
+                        .to("spring-rabbitmq:" + uniqueName("unknown") + "?routingKey=foo.bar");
             }
         };
     }
diff --git a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerNullBodyIT.java b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerNullBodyIT.java
index 788d4dd34cf8..7c011584a010 100644
--- a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerNullBodyIT.java
+++ b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerNullBodyIT.java
@@ -33,8 +33,8 @@ public class RabbitMQProducerNullBodyIT extends RabbitMQITSupport {
     public void testProducer() {
         ConnectionFactory cf = context.getRegistry().lookupByNameAndType("myCF", ConnectionFactory.class);
 
-        Queue q = new Queue("myqueue");
-        TopicExchange t = new TopicExchange("foo");
+        Queue q = new Queue(uniqueName("myqueue"));
+        TopicExchange t = new TopicExchange(uniqueName("foo"));
 
         AmqpAdmin admin = new RabbitAdmin(cf);
         admin.declareQueue(q);
@@ -50,7 +50,7 @@ public class RabbitMQProducerNullBodyIT extends RabbitMQITSupport {
             @Override
             public void configure() throws Exception {
                 from("direct:start")
-                        .to("spring-rabbitmq:foo?routingKey=foo.bar&allowNullBody=true");
+                        .to("spring-rabbitmq:" + uniqueName("foo") + "?routingKey=foo.bar&allowNullBody=true");
             }
         };
     }
diff --git a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerSimpleIT.java b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerSimpleIT.java
index e479a1c97c3d..0cabe012a793 100644
--- a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerSimpleIT.java
+++ b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerSimpleIT.java
@@ -33,7 +33,7 @@ public class RabbitMQProducerSimpleIT extends RabbitMQITSupport {
             @Override
             public void configure() throws Exception {
                 from("direct:start")
-                        .to("spring-rabbitmq:simple");
+                        .to("spring-rabbitmq:" + uniqueName("simple"));
             }
         };
     }
diff --git a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerToDIT.java b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerToDIT.java
index d9aa0317697c..7fc2ebd4a588 100644
--- a/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerToDIT.java
+++ b/components/camel-spring-parent/camel-spring-rabbitmq/src/test/java/org/apache/camel/component/springrabbit/integration/RabbitMQProducerToDIT.java
@@ -35,26 +35,26 @@ public class RabbitMQProducerToDIT extends RabbitMQITSupport {
     public void testToD() throws Exception {
         ConnectionFactory cf = context.getRegistry().lookupByNameAndType("myCF", ConnectionFactory.class);
 
-        Queue q = new Queue("myqueue");
-        TopicExchange t = new TopicExchange("foo");
+        Queue q = new Queue(uniqueName("myqueue"));
+        TopicExchange t = new TopicExchange(uniqueName("foo"));
 
         AmqpAdmin admin = new RabbitAdmin(cf);
         admin.declareQueue(q);
         admin.declareExchange(t);
         admin.declareBinding(BindingBuilder.bind(q).to(t).with("foo.bar.#"));
 
-        fluentTemplate.to("direct:start").withBody("Hello World").withHeader("whereTo", "foo").withHeader("myKey", "foo.bar")
-                .send();
+        fluentTemplate.to("direct:start").withBody("Hello World").withHeader("whereTo", uniqueName("foo"))
+                .withHeader("myKey", "foo.bar").send();
 
         AmqpTemplate template = new RabbitTemplate(cf);
-        String out = (String) template.receiveAndConvert("myqueue");
+        String out = (String) template.receiveAndConvert(uniqueName("myqueue"));
         Assertions.assertEquals("Hello World", out);
 
-        fluentTemplate.to("direct:start").withBody("Bye World").withHeader("whereTo", "foo").withHeader("myKey", "foo.bar.baz")
-                .send();
+        fluentTemplate.to("direct:start").withBody("Bye World").withHeader("whereTo", uniqueName("foo"))
+                .withHeader("myKey", "foo.bar.baz").send();
 
         template = new RabbitTemplate(cf);
-        out = (String) template.receiveAndConvert("myqueue");
+        out = (String) template.receiveAndConvert(uniqueName("myqueue"));
         Assertions.assertEquals("Bye World", out);
 
         // there should only be 1 rabbit endpoint
diff --git a/components/camel-spring-parent/camel-spring-redis/src/test/java/org/apache/camel/component/redis/integration/RedisConsumerManualIT.java b/components/camel-spring-parent/camel-spring-redis/src/test/java/org/apache/camel/component/redis/integration/RedisConsumerManualIT.java
index 521bddbbbf57..600ab61e8c73 100644
--- a/components/camel-spring-parent/camel-spring-redis/src/test/java/org/apache/camel/component/redis/integration/RedisConsumerManualIT.java
+++ b/components/camel-spring-parent/camel-spring-redis/src/test/java/org/apache/camel/component/redis/integration/RedisConsumerManualIT.java
@@ -33,7 +33,7 @@ import org.springframework.data.redis.listener.RedisMessageListenerContainer;
 public class RedisConsumerManualIT extends RedisTestSupport {
 
     @RegisterExtension
-    static RedisService service = RedisServiceFactory.createService();
+    static RedisService service = RedisServiceFactory.createSingletonService();
 
     private static final RedisMessageListenerContainer LISTENER_CONTAINER = new RedisMessageListenerContainer();
     private static JedisConnectionFactory jedisConnectionFactory;
diff --git a/components/camel-spring-parent/camel-spring-redis/src/test/java/org/apache/camel/component/redis/integration/RedisProducerManualIT.java b/components/camel-spring-parent/camel-spring-redis/src/test/java/org/apache/camel/component/redis/integration/RedisProducerManualIT.java
index 6a15d127b7cd..8f18ae486338 100644
--- a/components/camel-spring-parent/camel-spring-redis/src/test/java/org/apache/camel/component/redis/integration/RedisProducerManualIT.java
+++ b/components/camel-spring-parent/camel-spring-redis/src/test/java/org/apache/camel/component/redis/integration/RedisProducerManualIT.java
@@ -32,7 +32,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class RedisProducerManualIT extends RedisTestSupport {
 
     @RegisterExtension
-    static RedisService service = RedisServiceFactory.createService();
+    static RedisService service = RedisServiceFactory.createSingletonService();
     private static JedisConnectionFactory connectionFactory;
 
     @BeforeAll
diff --git a/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/integration/XmppBaseIT.java b/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/integration/XmppBaseIT.java
index 8de449526335..a126bc41169a 100644
--- a/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/integration/XmppBaseIT.java
+++ b/components/camel-xmpp/src/test/java/org/apache/camel/component/xmpp/integration/XmppBaseIT.java
@@ -35,7 +35,7 @@ import org.slf4j.LoggerFactory;
 @DisabledOnOs(value = OS.AIX, disabledReason = "has problem with all the new reconnection stuff and whatnot")
 public class XmppBaseIT extends CamelTestSupport {
     @RegisterExtension
-    static XmppService service = XmppServiceFactory.createService();
+    static XmppService service = XmppServiceFactory.createSingletonService();
 
     static {
         try (InputStream is = XmppBaseIT.class.getClassLoader().getResourceAsStream("logging.properties")) {
diff --git a/components/camel-zookeeper-master/src/test/java/org/apache/camel/component/zookeepermaster/MasterEndpointIT.java b/components/camel-zookeeper-master/src/test/java/org/apache/camel/component/zookeepermaster/MasterEndpointIT.java
index e0d58f9ea190..359b6cc66593 100644
--- a/components/camel-zookeeper-master/src/test/java/org/apache/camel/component/zookeepermaster/MasterEndpointIT.java
+++ b/components/camel-zookeeper-master/src/test/java/org/apache/camel/component/zookeepermaster/MasterEndpointIT.java
@@ -41,7 +41,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class MasterEndpointIT {
 
     @RegisterExtension
-    static ZooKeeperService service = ZooKeeperServiceFactory.createService();
+    static ZooKeeperService service = ZooKeeperServiceFactory.createSingletonService();
 
     @Autowired
     protected CamelContext camelContext;
diff --git a/components/camel-zookeeper-master/src/test/java/org/apache/camel/component/zookeepermaster/MasterQuartzEndpointIT.java b/components/camel-zookeeper-master/src/test/java/org/apache/camel/component/zookeepermaster/MasterQuartzEndpointIT.java
index 643fc73fd582..3e10a87c1d4d 100644
--- a/components/camel-zookeeper-master/src/test/java/org/apache/camel/component/zookeepermaster/MasterQuartzEndpointIT.java
+++ b/components/camel-zookeeper-master/src/test/java/org/apache/camel/component/zookeepermaster/MasterQuartzEndpointIT.java
@@ -31,7 +31,7 @@ import org.springframework.test.context.ContextConfiguration;
 @ContextConfiguration
 public class MasterQuartzEndpointIT {
     @RegisterExtension
-    static ZooKeeperService service = ZooKeeperServiceFactory.createService();
+    static ZooKeeperService service = ZooKeeperServiceFactory.createSingletonService();
 
     @Autowired
     protected CamelContext camelContext;
diff --git a/components/camel-zookeeper-master/src/test/java/org/apache/camel/component/zookeepermaster/group/GroupIT.java b/components/camel-zookeeper-master/src/test/java/org/apache/camel/component/zookeepermaster/group/GroupIT.java
index 24cd968a7cca..6ff6a0875ba6 100644
--- a/components/camel-zookeeper-master/src/test/java/org/apache/camel/component/zookeepermaster/group/GroupIT.java
+++ b/components/camel-zookeeper-master/src/test/java/org/apache/camel/component/zookeepermaster/group/GroupIT.java
@@ -51,7 +51,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class GroupIT {
     @RegisterExtension
-    static ZooKeeperService service = ZooKeeperServiceFactory.createService();
+    static ZooKeeperService service = ZooKeeperServiceFactory.createSingletonService();
 
     private static final Logger LOGGER = LoggerFactory.getLogger(GroupIT.class);
 
diff --git a/components/camel-zookeeper-master/src/test/java/org/apache/camel/component/zookeepermaster/integration/MasterEndpointFailoverIT.java b/components/camel-zookeeper-master/src/test/java/org/apache/camel/component/zookeepermaster/integration/MasterEndpointFailoverIT.java
index ef8221f3a23d..c38b1209c5e6 100644
--- a/components/camel-zookeeper-master/src/test/java/org/apache/camel/component/zookeepermaster/integration/MasterEndpointFailoverIT.java
+++ b/components/camel-zookeeper-master/src/test/java/org/apache/camel/component/zookeepermaster/integration/MasterEndpointFailoverIT.java
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
 
 public class MasterEndpointFailoverIT {
     @RegisterExtension
-    static ZooKeeperService service = ZooKeeperServiceFactory.createService();
+    static ZooKeeperService service = ZooKeeperServiceFactory.createSingletonService();
 
     private static final transient Logger LOG = LoggerFactory.getLogger(MasterEndpointFailoverIT.class);
 
diff --git a/components/camel-zookeeper/src/test/java/org/apache/camel/component/zookeeper/cluster/integration/ZooKeeperClusteredRoutePolicyFactoryIT.java b/components/camel-zookeeper/src/test/java/org/apache/camel/component/zookeeper/cluster/integration/ZooKeeperClusteredRoutePolicyFactoryIT.java
index c4338ff8a25f..06eb707f08f3 100644
--- a/components/camel-zookeeper/src/test/java/org/apache/camel/component/zookeeper/cluster/integration/ZooKeeperClusteredRoutePolicyFactoryIT.java
+++ b/components/camel-zookeeper/src/test/java/org/apache/camel/component/zookeeper/cluster/integration/ZooKeeperClusteredRoutePolicyFactoryIT.java
@@ -41,7 +41,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public final class ZooKeeperClusteredRoutePolicyFactoryIT {
     @RegisterExtension
-    static ZooKeeperService service = ZooKeeperServiceFactory.createService();
+    static ZooKeeperService service = ZooKeeperServiceFactory.createSingletonService();
 
     private static final Logger LOGGER = LoggerFactory.getLogger(ZooKeeperClusteredRoutePolicyFactoryIT.class);
     private static final List<String> CLIENTS = IntStream.range(0, 3).mapToObj(Integer::toString).toList();
diff --git a/components/camel-zookeeper/src/test/java/org/apache/camel/component/zookeeper/cluster/integration/ZooKeeperClusteredRoutePolicyIT.java b/components/camel-zookeeper/src/test/java/org/apache/camel/component/zookeeper/cluster/integration/ZooKeeperClusteredRoutePolicyIT.java
index ca11a6fca63c..96ae127b6e7a 100644
--- a/components/camel-zookeeper/src/test/java/org/apache/camel/component/zookeeper/cluster/integration/ZooKeeperClusteredRoutePolicyIT.java
+++ b/components/camel-zookeeper/src/test/java/org/apache/camel/component/zookeeper/cluster/integration/ZooKeeperClusteredRoutePolicyIT.java
@@ -41,7 +41,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public final class ZooKeeperClusteredRoutePolicyIT {
     @RegisterExtension
-    static ZooKeeperService service = ZooKeeperServiceFactory.createService();
+    static ZooKeeperService service = ZooKeeperServiceFactory.createSingletonService();
 
     private static final Logger LOGGER = LoggerFactory.getLogger(ZooKeeperClusteredRoutePolicyIT.class);
     private static final List<String> CLIENTS = IntStream.range(0, 3).mapToObj(Integer::toString).toList();
diff --git a/components/camel-zookeeper/src/test/java/org/apache/camel/component/zookeeper/cluster/integration/ZooKeeperMasterIT.java b/components/camel-zookeeper/src/test/java/org/apache/camel/component/zookeeper/cluster/integration/ZooKeeperMasterIT.java
index 02349fd7a06c..3d6a91ad38f0 100644
--- a/components/camel-zookeeper/src/test/java/org/apache/camel/component/zookeeper/cluster/integration/ZooKeeperMasterIT.java
+++ b/components/camel-zookeeper/src/test/java/org/apache/camel/component/zookeeper/cluster/integration/ZooKeeperMasterIT.java
@@ -40,7 +40,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public final class ZooKeeperMasterIT {
     @RegisterExtension
-    static ZooKeeperService service = ZooKeeperServiceFactory.createService();
+    static ZooKeeperService service = ZooKeeperServiceFactory.createSingletonService();
 
     private static final Logger LOGGER = LoggerFactory.getLogger(ZooKeeperMasterIT.class);
     private static final List<String> CLIENTS = IntStream.range(0, 3).mapToObj(Integer::toString).toList();
diff --git a/components/camel-zookeeper/src/test/java/org/apache/camel/component/zookeeper/integration/ZooKeeperITSupport.java b/components/camel-zookeeper/src/test/java/org/apache/camel/component/zookeeper/integration/ZooKeeperITSupport.java
index c902797161aa..0102a16a495b 100644
--- a/components/camel-zookeeper/src/test/java/org/apache/camel/component/zookeeper/integration/ZooKeeperITSupport.java
+++ b/components/camel-zookeeper/src/test/java/org/apache/camel/component/zookeeper/integration/ZooKeeperITSupport.java
@@ -45,7 +45,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class ZooKeeperITSupport extends CamelTestSupport {
     @RegisterExtension
-    static ZooKeeperService service = ZooKeeperServiceFactory.createService();
+    static ZooKeeperService service = ZooKeeperServiceFactory.createSingletonService();
 
     protected String testPayload = "This is a test";
     protected byte[] testPayloadBytes = testPayload.getBytes();
diff --git a/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/support/JBangTestSupport.java b/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/support/JBangTestSupport.java
index d81da695a221..fa4d4e7dc915 100644
--- a/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/support/JBangTestSupport.java
+++ b/dsl/camel-jbang/camel-jbang-it/src/test/java/org/apache/camel/dsl/jbang/it/support/JBangTestSupport.java
@@ -60,7 +60,7 @@ public abstract class JBangTestSupport {
     protected Logger logger = LoggerFactory.getLogger(getClass());
 
     @RegisterExtension
-    protected static CliService containerService = CliServiceFactory.createService();
+    protected static CliService containerService = CliServiceFactory.createSingletonService();
 
     private static final String DATA_FOLDER = System.getProperty(CliProperties.DATA_FOLDER);