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

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


The following commit(s) were added to refs/heads/main by this push:
     new 7eab79adfeb9 CAMEL-25788, CAMEL-25583, CAMEL-26365: camel-cxf - fix 
flaky BindException in jaxrs/jaxws tests (#28676)
7eab79adfeb9 is described below

commit 7eab79adfeb90cdc8002593f2ebbdb83b0d87391
Author: Aurélien Pupier <[email protected]>
AuthorDate: Fri Oct 30 09:53:01 2026 +0100

    CAMEL-25788, CAMEL-25583, CAMEL-26365: camel-cxf - fix flaky BindException 
in jaxrs/jaxws tests (#28676)
    
    …ption in jaxrs/jaxws tests
    
    Root cause
    ----------
    CXFTestSupport holds 8 static final AvailablePortFinder.Port fields
    (PORT1-PORT7, SSL_PORT) allocated once at JVM class-load time. Every
    test class that calls CXFTestSupport.getPort1() etc. gets the *same*
    integer, so when Maven Surefire runs test classes concurrently they all
    attempt to bind the same port simultaneously, causing:
    
      org.apache.cxf.service.factory.ServiceConstructionException:
        There is an endpoint already running on http://localhost:47767/...
      java.net.BindException: Address already in use
    
    Reproduction
    ------------
    Added junit-platform.properties (not committed) to both
    camel-cxf-rest/src/test/resources/ and
    camel-cxf-soap/src/test/resources/ with:
    
      junit.jupiter.execution.parallel.enabled=true
      junit.jupiter.execution.parallel.mode.classes.default=concurrent
      junit.jupiter.execution.parallel.config.fixed.parallelism=4
    
    Then ran:
      mvn test -pl "components/camel-cxf/camel-cxf-rest,\
                   components/camel-cxf/camel-cxf-soap" -T1C
    
    Before fix: 4/20 runs failed (20% failure rate) with BindException.
    After fix:  0/20 runs failed (verified across 20 consecutive runs).
    
    Fix
    ---
    Replace every CXFTestSupport.getPortX() call with a per-class
    @RegisterExtension AvailablePortFinder.Port field so each test-class
    instance reserves its own unique port:
    
    * Standalone leaf classes  -> @RegisterExtension static final Port PORT
      (one allocation per class, safe for concurrent forks)
    
    * Parent classes whose subclasses use getClass().getSimpleName() in
      the URL (CxfSimpleRouterTest, CxfConsumerMessageTest,
      CxfConsumerPayloadFaultTest, CxfConsumerStreamCacheTest,
      CxfCustomizedExceptionTest, CxfPayLoadSoapHeaderTestAbstract,
      CXFWsdlOnlyPayloadModeNoSpringTest, CxfProducerTest,
      CxfSchemaValidationTest) -> @RegisterExtension final Port port
      (instance field - each subclass instance gets its own port)
    
    Readability improvements (no functional change)
    -----------------------------------------------
    * Removed dead int-shim fields (legacy portN = PORT.getPort() helpers
      left over from migration) in CxfJavaOnlyPayloadModeTest,
      CxfJavaOnlyCamelContextAwareTest, LoadDistributorFeatureTest.
    
    * Renamed opaque PORT_2/PORT_3/PORT_4 to semantic names:
      - FailOverFeatureTest:      PORT -> SERVICE_PORT,
                                   PORT_2 -> PAYLOAD_PROXY_PORT,
                                   PORT_3 -> POJO_PROXY_PORT,
                                   PORT_4 -> NONE_EXIST_PORT
      - LoadDistributorFeatureTest: PORT -> SERVICE_PORT,
                                     PORT_2 -> PAYLOAD_PROXY_PORT,
                                     PORT_3 -> POJO_PROXY_PORT
    
    * Extracted repeated URL literals to named constants:
      - CxfRsConsumerSimpleBindingTest: BASE_URL (was repeated 11 times)
      - CxfRsConvertBodyToTest: REST/STATUS/EMPTY _ENDPOINT_URI and
        REST/STATUS/EMPTY _TEST_URL constants (deduplicated from both
        createRouteBuilder() and individual test methods)
    
    Changed files (45 total)
    ------------------------
    camel-cxf-rest (12 test classes):
      CxfRsStreamCacheTest, CxfRsResponseWithHeadersTest,
      CxfRsConsumerWithBeanTest, CxfRsConvertBodyToTest,
      CxfRsConsumerSuspendTest, CxfRsConsumerClientDisconnectedTest,
      CxfRsStreamCacheContentTypeTest, CxfRsProducerHttpMethodHeaderTest,
      CxfRsProducerParameterParsingTest,
      CxfRsBindingConfigurationSelectionTest,
      simplebinding/CxfRsConsumerSimpleBindingTest,
      simplebinding/CxfRsConsumerSimpleBindingImplTest
    
    camel-cxf-soap (33 test classes):
      CxfSimpleRouterTest, CxfConsumerTest, CxfConsumerMessageTest,
      CxfConsumerResponseTest, CxfConsumerProviderTest,
      CxfConsumerContinuationTimeoutTest, 
CxfConsumerPayloadXPathClientServerTest,
      CxfConsumerStreamCacheTest, CxfConsumerSuspendTest,
      CxfConsumerClientDisconnectedTest, CxfConsumerStartTwiceTest,
      CxfConsumerMuteExceptionTest, CxfConsumerPayloadFaultTest,
      CxfCustomizedExceptionTest, CxfPayLoadSoapHeaderTestAbstract,
      CXFWsdlOnlyPayloadModeNoSpringTest,
      CXFWsdlOnlyPayloadModeMultiPartNoSpringTest,
      CxfMultipleConsumersSupportTest, CxfMixedModeRouterTest,
      CxfProducerTest, CxfProducerContextTest,
      CxfProducerRouterTest, CxfProducerSoapFaultTest,
      CxfProducerSynchronousTest, CxfProducerSynchronousFalseTest,
      CxfProducerSessionTest, CxfJavaOnlyPayloadModeTest,
      CxfJavaOnlyCamelContextAwareTest,
      JaxWsWebFaultAnnotationToFaultTest, CxfSchemaValidationTest,
      FailOverFeatureTest, LoadDistributorFeatureTest,
      holder/CxfHolderConsumerTest
    
    Co-authored-by: IBM Bob 2.2.1
    Signed-off-by: Aurélien Pupier <[email protected]>
---
 .../CxfRsBindingConfigurationSelectionTest.java    | 41 ++++++++--------
 .../jaxrs/CxfRsConsumerClientDisconnectedTest.java | 15 +++---
 .../cxf/jaxrs/CxfRsConsumerSuspendTest.java        | 16 ++++---
 .../cxf/jaxrs/CxfRsConsumerWithBeanTest.java       | 30 ++++++------
 .../cxf/jaxrs/CxfRsConvertBodyToTest.java          | 54 +++++++++++-----------
 .../jaxrs/CxfRsProducerHttpMethodHeaderTest.java   | 10 ++--
 .../jaxrs/CxfRsProducerParameterParsingTest.java   | 10 ++--
 .../cxf/jaxrs/CxfRsResponseWithHeadersTest.java    | 12 +++--
 .../cxf/jaxrs/CxfRsStreamCacheContentTypeTest.java | 19 ++++----
 .../component/cxf/jaxrs/CxfRsStreamCacheTest.java  | 14 ++++--
 .../CxfRsConsumerSimpleBindingImplTest.java        | 15 ++++--
 .../CxfRsConsumerSimpleBindingTest.java            | 47 +++++++++++++------
 .../cxf/holder/CxfHolderConsumerTest.java          |  8 +++-
 ...XFWsdlOnlyPayloadModeMultiPartNoSpringTest.java | 12 +++--
 .../jaxws/CXFWsdlOnlyPayloadModeNoSpringTest.java  | 16 ++++---
 .../jaxws/CxfConsumerClientDisconnectedTest.java   | 11 +++--
 .../jaxws/CxfConsumerContinuationTimeoutTest.java  |  7 ++-
 .../cxf/jaxws/CxfConsumerMessageTest.java          |  8 +++-
 .../cxf/jaxws/CxfConsumerMuteExceptionTest.java    | 15 ++++--
 .../cxf/jaxws/CxfConsumerPayloadFaultTest.java     |  8 +++-
 .../CxfConsumerPayloadXPathClientServerTest.java   |  8 +++-
 .../cxf/jaxws/CxfConsumerProviderTest.java         |  7 ++-
 .../cxf/jaxws/CxfConsumerResponseTest.java         |  7 ++-
 .../cxf/jaxws/CxfConsumerStartTwiceTest.java       | 10 ++--
 .../cxf/jaxws/CxfConsumerStreamCacheTest.java      |  7 ++-
 .../cxf/jaxws/CxfConsumerSuspendTest.java          |  7 ++-
 .../camel/component/cxf/jaxws/CxfConsumerTest.java |  8 +++-
 .../cxf/jaxws/CxfCustomizedExceptionTest.java      |  7 ++-
 .../jaxws/CxfJavaOnlyCamelContextAwareTest.java    | 10 ++--
 .../cxf/jaxws/CxfJavaOnlyPayloadModeTest.java      |  8 ++--
 .../cxf/jaxws/CxfMixedModeRouterTest.java          | 14 ++++--
 .../cxf/jaxws/CxfMultipleConsumersSupportTest.java | 16 ++++---
 .../jaxws/CxfPayLoadSoapHeaderTestAbstract.java    | 13 ++++--
 .../cxf/jaxws/CxfProducerContextTest.java          | 10 ++--
 .../component/cxf/jaxws/CxfProducerRouterTest.java |  8 +++-
 .../cxf/jaxws/CxfProducerSessionTest.java          | 13 ++++--
 .../cxf/jaxws/CxfProducerSoapFaultTest.java        |  8 +++-
 .../cxf/jaxws/CxfProducerSynchronousFalseTest.java |  7 ++-
 .../cxf/jaxws/CxfProducerSynchronousTest.java      |  7 ++-
 .../camel/component/cxf/jaxws/CxfProducerTest.java | 11 +++--
 .../cxf/jaxws/CxfSchemaValidationTest.java         | 11 +++--
 .../component/cxf/jaxws/CxfSimpleRouterTest.java   | 12 +++--
 .../component/cxf/jaxws/FailOverFeatureTest.java   | 26 +++++++----
 .../jaxws/JaxWsWebFaultAnnotationToFaultTest.java  |  8 +++-
 .../cxf/jaxws/LoadDistributorFeatureTest.java      | 27 +++++++----
 45 files changed, 409 insertions(+), 229 deletions(-)

diff --git 
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsBindingConfigurationSelectionTest.java
 
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsBindingConfigurationSelectionTest.java
index 15ac79d6c352..21cebdcbd3dd 100644
--- 
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsBindingConfigurationSelectionTest.java
+++ 
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsBindingConfigurationSelectionTest.java
@@ -26,10 +26,11 @@ import org.apache.camel.BindToRegistry;
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.cxf.jaxrs.client.WebClient;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
@@ -38,21 +39,17 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
  */
 public class CxfRsBindingConfigurationSelectionTest extends CamelTestSupport {
 
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT1 = AvailablePortFinder.find();
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT2 = AvailablePortFinder.find();
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT3 = AvailablePortFinder.find();
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT4 = AvailablePortFinder.find();
+
     private static final String RESOURCE_CLASS
             = 
"resourceClasses=org.apache.camel.component.cxf.jaxrs.simplebinding.testbean.CustomerServiceResource";
-    private static final String CXF_RS_ENDPOINT_URI_CUSTOM = String
-            
.format("cxfrs://http://localhost:%s/CxfRsConsumerTest/rest?bindingStyle=Custom&";,
 CXFTestSupport.getPort2())
-                                                             + RESOURCE_CLASS 
+ "&binding=#binding";
-    private static final String CXF_RS_ENDPOINT_URI_SIMPLE
-            = 
String.format("cxfrs://http://localhost:%s/CxfRsConsumerTest/rest?bindingStyle=SimpleConsumer&";,
-                    CXFTestSupport.getPort1())
-              + RESOURCE_CLASS;
-    private static final String CXF_RS_ENDPOINT_URI_DEFAULT
-            = 
String.format("cxfrs://http://localhost:%s/CxfRsConsumerTest/rest?bindingStyle=Default&";,
-                    CXFTestSupport.getPort3())
-              + RESOURCE_CLASS;
-    private static final String CXF_RS_ENDPOINT_URI_NONE
-            = 
String.format("cxfrs://http://localhost:%s/CxfRsConsumerTest/rest?";, 
CXFTestSupport.getPort4()) + RESOURCE_CLASS;
 
     @BindToRegistry("binding")
     private DummyCxfRsBindingImplementation dummyCxfRsBindingImplementation = 
new DummyCxfRsBindingImplementation();
@@ -81,16 +78,24 @@ public class CxfRsBindingConfigurationSelectionTest extends 
CamelTestSupport {
         return new RouteBuilder() {
             public void configure() {
 
-                from(CXF_RS_ENDPOINT_URI_CUSTOM).routeId("custom")
+                
from(String.format("cxfrs://http://localhost:%s/CxfRsConsumerTest/rest?bindingStyle=Custom&";,
+                        PORT2.getPort())
+                     + RESOURCE_CLASS + "&binding=#binding").routeId("custom")
                         .to("log:foo");
 
-                from(CXF_RS_ENDPOINT_URI_SIMPLE).routeId("simple")
+                
from(String.format("cxfrs://http://localhost:%s/CxfRsConsumerTest/rest?bindingStyle=SimpleConsumer&";,
+                        PORT1.getPort())
+                     + RESOURCE_CLASS).routeId("simple")
                         .to("log:foo");
 
-                from(CXF_RS_ENDPOINT_URI_DEFAULT).routeId("default")
+                
from(String.format("cxfrs://http://localhost:%s/CxfRsConsumerTest/rest?bindingStyle=Default&";,
+                        PORT3.getPort())
+                     + RESOURCE_CLASS).routeId("default")
                         .to("log:foo");
 
-                from(CXF_RS_ENDPOINT_URI_NONE).routeId("none")
+                
from(String.format("cxfrs://http://localhost:%s/CxfRsConsumerTest/rest?";,
+                        PORT4.getPort())
+                     + RESOURCE_CLASS).routeId("none")
                         .to("log:foo");
 
             }
diff --git 
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConsumerClientDisconnectedTest.java
 
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConsumerClientDisconnectedTest.java
index 43605cd2487e..287b03872e1e 100644
--- 
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConsumerClientDisconnectedTest.java
+++ 
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConsumerClientDisconnectedTest.java
@@ -21,23 +21,26 @@ import java.io.OutputStreamWriter;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.spi.Synchronization;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.commons.net.telnet.TelnetClient;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 /**
  * UnitOfWork should complete even if client disconnected during the 
processing.
  */
 public class CxfRsConsumerClientDisconnectedTest extends CamelTestSupport {
-    private static final int PORT = CXFTestSupport.getPort1();
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
     private static final String CONTEXT = 
"/CxfRsConsumerClientDisconnectedTest";
-    private static final String CXT = PORT + CONTEXT;
 
-    private String cxfRsEndpointUri = "cxfrs://http://localhost:"; + CXT + 
"/rest?synchronous=" + isSynchronous()
-                                      + 
"&dataFormat=PAYLOAD&resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerService";
+    private String cxfRsEndpointUri
+            = "cxfrs://http://localhost:"; + PORT.getPort() + CONTEXT + 
"/rest?synchronous=" + isSynchronous()
+              + 
"&dataFormat=PAYLOAD&resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerService";
 
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
@@ -83,7 +86,7 @@ public class CxfRsConsumerClientDisconnectedTest extends 
CamelTestSupport {
 
         TelnetClient telnetClient = new TelnetClient();
 
-        telnetClient.connect("localhost", PORT);
+        telnetClient.connect("localhost", PORT.getPort());
         telnetClient.setTcpNoDelay(true);
         telnetClient.setReceiveBufferSize(1);
 
diff --git 
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConsumerSuspendTest.java
 
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConsumerSuspendTest.java
index 4780414c2550..a8ea08734786 100644
--- 
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConsumerSuspendTest.java
+++ 
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConsumerSuspendTest.java
@@ -26,10 +26,11 @@ import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.support.service.ServiceSupport;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.awaitility.Awaitility.await;
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -40,9 +41,10 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
  */
 class CxfRsConsumerSuspendTest extends CamelTestSupport {
 
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
     private static final String CONTEXT = "/CxfRsConsumerSuspendTest";
-    private static final String URL = "http://localhost:"; + 
CXFTestSupport.getPort1() + CONTEXT
-                                      + "/rest/customerservice/customers/123";
 
     private final AtomicInteger processed = new AtomicInteger();
     private final CountDownLatch entered = new CountDownLatch(1);
@@ -53,7 +55,7 @@ class CxfRsConsumerSuspendTest extends CamelTestSupport {
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                from("cxfrs://http://localhost:"; + CXFTestSupport.getPort1() + 
CONTEXT + "/rest"
+                from("cxfrs://http://localhost:"; + PORT.getPort() + CONTEXT + 
"/rest"
                      + 
"?resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerService")
                         .routeId("rs")
                         .process(exchange -> {
@@ -69,8 +71,9 @@ class CxfRsConsumerSuspendTest extends CamelTestSupport {
 
     @Test
     void testSuspendedRouteRejectsRequests() throws Exception {
+        String url = "http://localhost:"; + PORT.getPort() + CONTEXT + 
"/rest/customerservice/customers/123";
         HttpClient client = HttpClient.newHttpClient();
-        HttpRequest request = 
HttpRequest.newBuilder(URI.create(URL)).GET().build();
+        HttpRequest request = 
HttpRequest.newBuilder(URI.create(url)).GET().build();
         assertEquals(200, client.send(request, 
HttpResponse.BodyHandlers.ofString()).statusCode());
 
         context.getRouteController().suspendRoute("rs");
@@ -85,9 +88,10 @@ class CxfRsConsumerSuspendTest extends CamelTestSupport {
 
     @Test
     void testGracefulStopCompletesInflightAndRejectsNewRequests() throws 
Exception {
+        String url = "http://localhost:"; + PORT.getPort() + CONTEXT + 
"/rest/customerservice/customers/123";
         block = true;
         HttpClient client = HttpClient.newHttpClient();
-        HttpRequest request = 
HttpRequest.newBuilder(URI.create(URL)).GET().build();
+        HttpRequest request = 
HttpRequest.newBuilder(URI.create(url)).GET().build();
         // the consumer is asynchronous by default: the continuation of this 
request resumes after the suspend
         CompletableFuture<HttpResponse<String>> inflight = 
client.sendAsync(request, HttpResponse.BodyHandlers.ofString());
         assertTrue(entered.await(20, TimeUnit.SECONDS));
diff --git 
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConsumerWithBeanTest.java
 
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConsumerWithBeanTest.java
index 18361308a45c..eb85cbf3406f 100644
--- 
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConsumerWithBeanTest.java
+++ 
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConsumerWithBeanTest.java
@@ -17,11 +17,11 @@
 package org.apache.camel.component.cxf.jaxrs;
 
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.component.cxf.jaxrs.response.MyResponse;
 import org.apache.camel.component.cxf.jaxrs.testbean.CustomerServiceResource;
 import org.apache.camel.component.cxf.jaxrs.testbean.ServiceUtil;
 import org.apache.camel.spi.Registry;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.hc.client5.http.classic.methods.HttpPut;
 import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
@@ -30,17 +30,15 @@ import org.apache.hc.core5.http.ContentType;
 import org.apache.hc.core5.http.io.entity.EntityUtils;
 import org.apache.hc.core5.http.io.entity.StringEntity;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class CxfRsConsumerWithBeanTest extends CamelTestSupport {
-    private static final String CXT = CXFTestSupport.getPort1() + 
"/CxfRsConsumerWithBeanTest";
-    private static final String CXF_RS_ENDPOINT_URI
-            = "cxfrs://http://localhost:"; + CXT
-              + 
"/rest?resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerServiceResource";
-    private static final String CXF_RS_ENDPOINT_URI_2
-            = "cxfrs://http://localhost:"; + CXT
-              + 
"/rest2?resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerServiceResource";
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
+    private static final String CONTEXT = "/CxfRsConsumerWithBeanTest";
     private static final String CXF_RS_BEAN_ENDPOINT_URI = 
"cxfrs:bean:myEndpoint";
 
     @Override
@@ -49,7 +47,7 @@ public class CxfRsConsumerWithBeanTest extends 
CamelTestSupport {
 
         CxfRsEndpoint cxfRsEndpoint = new CxfRsEndpoint();
         cxfRsEndpoint.addResourceClass(CustomerServiceResource.class);
-        cxfRsEndpoint.setAddress("http://localhost:"; + CXT + "/rest3");
+        cxfRsEndpoint.setAddress("http://localhost:"; + PORT.getPort() + 
CONTEXT + "/rest3");
         registry.bind("myEndpoint", cxfRsEndpoint);
     }
 
@@ -57,8 +55,12 @@ public class CxfRsConsumerWithBeanTest extends 
CamelTestSupport {
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() {
-                
from(CXF_RS_ENDPOINT_URI).to("bean://service?method=invoke(${body[0]}, 
${body[1]})");
-                from(CXF_RS_ENDPOINT_URI_2).bean(ServiceUtil.class, 
"invoke(${body[0]}, ${body[1]})");
+                from("cxfrs://http://localhost:"; + PORT.getPort() + CONTEXT
+                     + 
"/rest?resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerServiceResource")
+                        .to("bean://service?method=invoke(${body[0]}, 
${body[1]})");
+                from("cxfrs://http://localhost:"; + PORT.getPort() + CONTEXT
+                     + 
"/rest2?resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerServiceResource")
+                        .bean(ServiceUtil.class, "invoke(${body[0]}, 
${body[1]})");
                 
from(CXF_RS_BEAN_ENDPOINT_URI).to("bean://service?method=invoke(${body[0]}, 
${body[1]})");
             }
         };
@@ -66,9 +68,9 @@ public class CxfRsConsumerWithBeanTest extends 
CamelTestSupport {
 
     @Test
     public void testPutConsumer() throws Exception {
-        sendPutRequest("http://localhost:"; + CXT + 
"/rest/customerservice/c20");
-        sendPutRequest("http://localhost:"; + CXT + 
"/rest2/customerservice/c20");
-        sendPutRequest("http://localhost:"; + CXT + 
"/rest3/customerservice/c20");
+        sendPutRequest("http://localhost:"; + PORT.getPort() + CONTEXT + 
"/rest/customerservice/c20");
+        sendPutRequest("http://localhost:"; + PORT.getPort() + CONTEXT + 
"/rest2/customerservice/c20");
+        sendPutRequest("http://localhost:"; + PORT.getPort() + CONTEXT + 
"/rest3/customerservice/c20");
     }
 
     private void sendPutRequest(String uri) throws Exception {
diff --git 
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConvertBodyToTest.java
 
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConvertBodyToTest.java
index fb9b3f1b5737..4bd930e1ff1d 100644
--- 
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConvertBodyToTest.java
+++ 
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsConvertBodyToTest.java
@@ -19,10 +19,10 @@ package org.apache.camel.component.cxf.jaxrs;
 import jakarta.ws.rs.core.Response;
 
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.component.cxf.jaxrs.response.MyResponse;
 import org.apache.camel.component.cxf.jaxrs.testbean.Customer;
 import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.hc.client5.http.classic.methods.HttpPut;
 import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
@@ -32,32 +32,34 @@ import org.apache.hc.core5.http.HttpEntity;
 import org.apache.hc.core5.http.io.entity.EntityUtils;
 import org.apache.hc.core5.http.io.entity.StringEntity;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertNull;
 
 public class CxfRsConvertBodyToTest extends CamelTestSupport {
-    private static final String PUT_REQUEST = 
"<Customer><name>Mary</name><id>123</id></Customer>";
-    private static final String CXT = CXFTestSupport.getPort1() + 
"/CxfRsConvertBodyToTest";
-    private static final String CXF_RS_ENDPOINT_URI
-            = "cxfrs://http://localhost:"; + CXT
-              + 
"/rest?resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerService";
-
-    // Define a separate endpoint for the status code test to avoid 
interference
-    private static final String CXF_RS_STATUS_TEST_URI
-            = "cxfrs://http://localhost:"; + CXFTestSupport.getPort2()
-              + 
"/reststatus?resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerService";
-
-    private static final String CXF_RS_STATUS_TEST_URL
-            = "http://localhost:"; + CXFTestSupport.getPort2() + 
"/reststatus/customerservice/customers";
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT1 = AvailablePortFinder.find();
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT2 = AvailablePortFinder.find();
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT3 = AvailablePortFinder.find();
 
-    private static final String CXF_RS_EMPTY_BODY_TEST_URI
-            = "cxfrs://http://localhost:"; + CXFTestSupport.getPort3()
-              + 
"/restempty?resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerService";
-
-    private static final String CXF_RS_EMPTY_BODY_TEST_URL
-            = "http://localhost:"; + CXFTestSupport.getPort3() + 
"/restempty/customerservice/customers";
+    private static final String PUT_REQUEST = 
"<Customer><name>Mary</name><id>123</id></Customer>";
+    private static final String RESOURCES = 
"resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerService";
+    private static final String REST_ENDPOINT_URI
+            = "cxfrs://http://localhost:"; + PORT1.getPort() + 
"/CxfRsConvertBodyToTest/rest?" + RESOURCES;
+    private static final String STATUS_ENDPOINT_URI
+            = "cxfrs://http://localhost:"; + PORT2.getPort() + "/reststatus?" + 
RESOURCES;
+    private static final String EMPTY_ENDPOINT_URI
+            = "cxfrs://http://localhost:"; + PORT3.getPort() + "/restempty?" + 
RESOURCES;
+    private static final String REST_TEST_URL
+            = "http://localhost:"; + PORT1.getPort() + 
"/CxfRsConvertBodyToTest/rest/customerservice/customers";
+    private static final String STATUS_TEST_URL
+            = "http://localhost:"; + PORT2.getPort() + 
"/reststatus/customerservice/customers";
+    private static final String EMPTY_TEST_URL
+            = "http://localhost:"; + PORT3.getPort() + 
"/restempty/customerservice/customers";
 
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
@@ -65,7 +67,7 @@ public class CxfRsConvertBodyToTest extends CamelTestSupport {
             public void configure() {
                 Response ok = Response.ok().build();
 
-                from(CXF_RS_ENDPOINT_URI)
+                from(REST_ENDPOINT_URI)
                         // should be able to convert to Customer
                         .convertBodyTo(Customer.class)
                         .to("mock:result")
@@ -74,7 +76,7 @@ public class CxfRsConvertBodyToTest extends CamelTestSupport {
 
                 // New Route: Intentionally uses an EIP (.log()) after setting 
the JAX-RS Response
                 // to trigger the StreamCache conversion.
-                from(CXF_RS_STATUS_TEST_URI)
+                from(STATUS_ENDPOINT_URI)
                         .to("mock:statusCheckResult")
                         // Set Response object with custom status 202 inside a 
processor
                         .process(exchange -> {
@@ -86,7 +88,7 @@ public class CxfRsConvertBodyToTest extends CamelTestSupport {
                         .log("Checking if status is still 202 after logging.");
 
                 // Route for testing empty body scenario (No Entity)
-                from(CXF_RS_EMPTY_BODY_TEST_URI)
+                from(EMPTY_ENDPOINT_URI)
                         .to("mock:emptyBodyResult")
                         .process(exchange -> {
                             // Creating a response with NO entity
@@ -105,7 +107,7 @@ public class CxfRsConvertBodyToTest extends 
CamelTestSupport {
         mock.expectedMessageCount(1);
         mock.message(0).body().isInstanceOf(Customer.class);
 
-        HttpPut put = new HttpPut("http://localhost:"; + CXT + 
"/rest/customerservice/customers");
+        HttpPut put = new HttpPut(REST_TEST_URL);
         StringEntity entity = new StringEntity(PUT_REQUEST, 
ContentType.parse("text/xml; charset=ISO-8859-1"));
         put.addHeader("test", "header1;header2");
         put.setEntity(entity);
@@ -126,7 +128,7 @@ public class CxfRsConvertBodyToTest extends 
CamelTestSupport {
         MockEndpoint mock = getMockEndpoint("mock:statusCheckResult");
         mock.expectedMessageCount(1);
 
-        HttpPut put = new HttpPut(CXF_RS_STATUS_TEST_URL);
+        HttpPut put = new HttpPut(STATUS_TEST_URL);
         StringEntity entity = new StringEntity(PUT_REQUEST, 
ContentType.parse("text/xml; charset=ISO-8859-1"));
         put.setEntity(entity);
 
@@ -152,7 +154,7 @@ public class CxfRsConvertBodyToTest extends 
CamelTestSupport {
         MockEndpoint mock = getMockEndpoint("mock:emptyBodyResult");
         mock.expectedMessageCount(1);
 
-        HttpPut put = new HttpPut(CXF_RS_EMPTY_BODY_TEST_URL);
+        HttpPut put = new HttpPut(EMPTY_TEST_URL);
         StringEntity entity = new StringEntity(PUT_REQUEST, 
ContentType.parse("text/xml; charset=ISO-8859-1"));
         put.setEntity(entity);
 
diff --git 
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducerHttpMethodHeaderTest.java
 
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducerHttpMethodHeaderTest.java
index a14490f9b24e..76b4090648b6 100644
--- 
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducerHttpMethodHeaderTest.java
+++ 
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducerHttpMethodHeaderTest.java
@@ -24,15 +24,19 @@ import org.apache.camel.Message;
 import org.apache.camel.Processor;
 import org.apache.camel.RoutesBuilder;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 
 public class CxfRsProducerHttpMethodHeaderTest extends CamelTestSupport {
 
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
     @Test
     public void testHttpMethodHeader() throws Exception {
         getMockEndpoint("mock:result").expectedMessageCount(1);
@@ -41,7 +45,7 @@ public class CxfRsProducerHttpMethodHeaderTest extends 
CamelTestSupport {
         
getMockEndpoint("mock:result").message(0).header("org.apache.cxf.request.method").isNull();
 
         Exchange exchange = context.createProducerTemplate().send(
-                "cxfrs://http://localhost:"; + CXFTestSupport.getPort7() + 
"/CxfRsProducerHttpMethodHeaderTest",
+                "cxfrs://http://localhost:"; + PORT.getPort() + 
"/CxfRsProducerHttpMethodHeaderTest",
                 new Processor() {
                     public void process(Exchange exchange) throws Exception {
                         exchange.setPattern(ExchangePattern.InOut);
@@ -73,7 +77,7 @@ public class CxfRsProducerHttpMethodHeaderTest extends 
CamelTestSupport {
             @Override
             public void configure() throws Exception {
                 
fromF("undertow://http://localhost:%s/CxfRsProducerHttpMethodHeaderTest/?matchOnUriPrefix=true";,
-                        CXFTestSupport.getPort7())
+                        PORT.getPort())
                         .to("mock:result");
             }
         };
diff --git 
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducerParameterParsingTest.java
 
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducerParameterParsingTest.java
index 5683f15966b0..869dd1621a8f 100644
--- 
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducerParameterParsingTest.java
+++ 
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsProducerParameterParsingTest.java
@@ -23,16 +23,18 @@ import org.apache.camel.ExchangePattern;
 import org.apache.camel.Message;
 import org.apache.camel.RoutesBuilder;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNull;
 
 public class CxfRsProducerParameterParsingTest extends CamelTestSupport {
 
-    private static final int PORT = CXFTestSupport.getPort7();
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
 
     @Test
     public void testValuelessQueryParameter() {
@@ -63,7 +65,7 @@ public class CxfRsProducerParameterParsingTest extends 
CamelTestSupport {
 
     private Exchange sendWithQuery(String queryString) {
         return context.createProducerTemplate().send(
-                "cxfrs://http://localhost:"; + PORT + 
"/CxfRsProducerParameterParsingTest",
+                "cxfrs://http://localhost:"; + PORT.getPort() + 
"/CxfRsProducerParameterParsingTest",
                 exchange -> {
                     exchange.setPattern(ExchangePattern.InOut);
                     Message inMessage = exchange.getIn();
@@ -80,7 +82,7 @@ public class CxfRsProducerParameterParsingTest extends 
CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
-                
fromF("undertow://http://localhost:%s/CxfRsProducerParameterParsingTest/?matchOnUriPrefix=true";,
 PORT)
+                
fromF("undertow://http://localhost:%s/CxfRsProducerParameterParsingTest/?matchOnUriPrefix=true";,
 PORT.getPort())
                         .to("mock:result");
             }
         };
diff --git 
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsResponseWithHeadersTest.java
 
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsResponseWithHeadersTest.java
index d47909c9792e..3a7ce022f08b 100644
--- 
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsResponseWithHeadersTest.java
+++ 
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsResponseWithHeadersTest.java
@@ -18,8 +18,8 @@ package org.apache.camel.component.cxf.jaxrs;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.component.cxf.jaxrs.response.MyResponse;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.hc.client5.http.classic.methods.HttpPut;
 import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
@@ -28,14 +28,17 @@ import org.apache.hc.core5.http.ContentType;
 import org.apache.hc.core5.http.io.entity.EntityUtils;
 import org.apache.hc.core5.http.io.entity.StringEntity;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class CxfRsResponseWithHeadersTest extends CamelTestSupport {
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
     private static final String PUT_REQUEST = 
"<Customer><name>Mary</name><id>123</id></Customer>";
-    private static final String CXT = CXFTestSupport.getPort1() + 
"/CxfRsResponseWithHeadersTest";
     private static final String CXF_RS_ENDPOINT_URI
-            = "cxfrs://http://localhost:"; + CXT
+            = "cxfrs://http://localhost:"; + PORT.getPort() + 
"/CxfRsResponseWithHeadersTest"
               + 
"/rest?resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerService";
 
     @Override
@@ -54,7 +57,8 @@ public class CxfRsResponseWithHeadersTest extends 
CamelTestSupport {
 
     @Test
     public void testPutConsumer() throws Exception {
-        HttpPut put = new HttpPut("http://localhost:"; + CXT + 
"/rest/customerservice/customers");
+        HttpPut put = new HttpPut(
+                "http://localhost:"; + PORT.getPort() + 
"/CxfRsResponseWithHeadersTest/rest/customerservice/customers");
         StringEntity entity = new StringEntity(PUT_REQUEST, 
ContentType.parse("text/xml; charset=ISO-8859-1"));
         put.setEntity(entity);
 
diff --git 
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsStreamCacheContentTypeTest.java
 
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsStreamCacheContentTypeTest.java
index 50f19f16129f..d13375874622 100644
--- 
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsStreamCacheContentTypeTest.java
+++ 
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsStreamCacheContentTypeTest.java
@@ -20,7 +20,7 @@ import jakarta.ws.rs.core.MediaType;
 import jakarta.ws.rs.core.Response;
 
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.hc.client5.http.classic.methods.HttpPut;
 import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
@@ -29,6 +29,7 @@ import org.apache.hc.core5.http.ContentType;
 import org.apache.hc.core5.http.io.entity.EntityUtils;
 import org.apache.hc.core5.http.io.entity.StringEntity;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -46,21 +47,19 @@ import static 
org.junit.jupiter.api.Assertions.assertNotNull;
  */
 public class CxfRsStreamCacheContentTypeTest extends CamelTestSupport {
 
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
     private static final String PUT_REQUEST = 
"<Customer><name>Mary</name><id>123</id></Customer>";
     private static final String JSON_RESPONSE = 
"{\"name\":\"Mary\",\"id\":123}";
     private static final String CONTEXT = "/CxfRsStreamCacheContentTypeTest";
-    private static final int PORT = CXFTestSupport.getPort5();
-    private static final String CXT = PORT + CONTEXT;
-
-    private static final String CXF_RS_ENDPOINT_URI
-            = "cxfrs://http://localhost:"; + CXT
-              + 
"/rest?resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerService";
 
     @Override
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                from(CXF_RS_ENDPOINT_URI)
+                from("cxfrs://http://localhost:"; + PORT.getPort() + CONTEXT
+                     + 
"/rest?resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerService")
                         .process(exchange -> {
                             // Return a Response with explicit JSON content 
type and a custom header,
                             // mimicking the reproducer's 
EchoServiceImpl.echoVariable()
@@ -88,7 +87,7 @@ public class CxfRsStreamCacheContentTypeTest extends 
CamelTestSupport {
      */
     @Test
     public void testContentTypePreservedAfterStreamCacheConversion() throws 
Exception {
-        HttpPut put = new HttpPut("http://localhost:"; + CXT + 
"/rest/customerservice/customers");
+        HttpPut put = new HttpPut("http://localhost:"; + PORT.getPort() + 
CONTEXT + "/rest/customerservice/customers");
         StringEntity entity = new StringEntity(PUT_REQUEST, 
ContentType.parse("text/xml; charset=ISO-8859-1"));
         put.setEntity(entity);
 
@@ -116,7 +115,7 @@ public class CxfRsStreamCacheContentTypeTest extends 
CamelTestSupport {
      */
     @Test
     public void testCustomHeaderPreservedAfterStreamCacheConversion() throws 
Exception {
-        HttpPut put = new HttpPut("http://localhost:"; + CXT + 
"/rest/customerservice/customers");
+        HttpPut put = new HttpPut("http://localhost:"; + PORT.getPort() + 
CONTEXT + "/rest/customerservice/customers");
         StringEntity entity = new StringEntity(PUT_REQUEST, 
ContentType.parse("text/xml; charset=ISO-8859-1"));
         put.setEntity(entity);
 
diff --git 
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsStreamCacheTest.java
 
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsStreamCacheTest.java
index 2e226b5f8fc6..bdf82f12e214 100644
--- 
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsStreamCacheTest.java
+++ 
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/CxfRsStreamCacheTest.java
@@ -20,12 +20,12 @@ import java.nio.charset.StandardCharsets;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.component.cxf.jaxrs.response.MyResponse;
 import org.apache.camel.component.cxf.jaxrs.testbean.Customer;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.converter.stream.CachedOutputStream;
 import org.apache.camel.spi.Synchronization;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.hc.client5.http.classic.methods.HttpPut;
 import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
@@ -34,17 +34,21 @@ import org.apache.hc.core5.http.ContentType;
 import org.apache.hc.core5.http.io.entity.EntityUtils;
 import org.apache.hc.core5.http.io.entity.StringEntity;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class CxfRsStreamCacheTest extends CamelTestSupport {
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
     private static final String PUT_REQUEST = 
"<Customer><name>Mary</name><id>123</id></Customer>";
     private static final String CONTEXT = "/CxfRsStreamCacheTest";
-    private static final String CXT = CXFTestSupport.getPort1() + CONTEXT;
     private static final String RESPONSE = "<pong xmlns=\"test/service\"/>";
 
-    private final String cxfRsEndpointUri = "cxfrs://http://localhost:"; + CXT 
+ "/rest?synchronous=" + isSynchronous()
-                                            + 
"&dataFormat=PAYLOAD&resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerService";
+    private final String cxfRsEndpointUri
+            = "cxfrs://http://localhost:"; + PORT.getPort() + CONTEXT + 
"/rest?synchronous=" + isSynchronous()
+              + 
"&dataFormat=PAYLOAD&resourceClasses=org.apache.camel.component.cxf.jaxrs.testbean.CustomerService";
 
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
@@ -93,7 +97,7 @@ public class CxfRsStreamCacheTest extends CamelTestSupport {
         MockEndpoint onComplete = getMockEndpoint("mock:onComplete");
         onComplete.expectedMessageCount(1);
 
-        HttpPut put = new HttpPut("http://localhost:"; + CXT + 
"/rest/customerservice/customers");
+        HttpPut put = new HttpPut("http://localhost:"; + PORT.getPort() + 
CONTEXT + "/rest/customerservice/customers");
         StringEntity entity = new StringEntity(PUT_REQUEST, 
ContentType.parse("text/xml; charset=ISO-8859-1"));
         put.addHeader("test", "header1;header2");
         put.setEntity(entity);
diff --git 
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/simplebinding/CxfRsConsumerSimpleBindingImplTest.java
 
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/simplebinding/CxfRsConsumerSimpleBindingImplTest.java
index a53a16842746..7362c75ea276 100644
--- 
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/simplebinding/CxfRsConsumerSimpleBindingImplTest.java
+++ 
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/simplebinding/CxfRsConsumerSimpleBindingImplTest.java
@@ -24,12 +24,12 @@ import jakarta.xml.bind.JAXBContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.component.cxf.jaxrs.response.MyResponse;
 import org.apache.camel.component.cxf.jaxrs.simplebinding.testbean.Customer;
 import 
org.apache.camel.component.cxf.jaxrs.simplebinding.testbean.CustomerList;
 import org.apache.camel.component.cxf.jaxrs.simplebinding.testbean.Order;
 import org.apache.camel.component.cxf.jaxrs.simplebinding.testbean.Product;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.hc.client5.http.classic.methods.HttpGet;
 import org.apache.hc.client5.http.classic.methods.HttpPost;
@@ -38,6 +38,7 @@ import 
org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
 import org.apache.hc.core5.http.io.entity.EntityUtils;
 import org.apache.hc.core5.http.io.entity.StringEntity;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -46,8 +47,10 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
  * Tests for the Simple Binding style of CXF JAX-RS consumers.
  */
 public class CxfRsConsumerSimpleBindingImplTest extends CamelTestSupport {
-    private static final String PORT_PATH = CXFTestSupport.getPort1() + 
"/CxfRsConsumerTest";
-    private static final String CXF_RS_ENDPOINT_URI = 
"cxfrs://http://localhost:"; + PORT_PATH
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
+    private static final String CXF_RS_ENDPOINT_URI = 
"cxfrs://http://localhost:"; + PORT.getPort() + "/CxfRsConsumerTest"
                                                       + 
"/rest?resourceClasses=org.apache.camel.component.cxf.jaxrs.simplebinding.testbean.CustomerServiceImpl&bindingStyle=SimpleConsumer";
 
     private JAXBContext jaxb;
@@ -97,7 +100,8 @@ public class CxfRsConsumerSimpleBindingImplTest extends 
CamelTestSupport {
 
     @Test
     public void testGetCustomerOnlyHeaders() throws Exception {
-        HttpGet get = new HttpGet("http://localhost:"; + PORT_PATH + 
"/rest/customerservice/customers/123");
+        HttpGet get = new HttpGet(
+                "http://localhost:"; + PORT.getPort() + "/CxfRsConsumerTest" + 
"/rest/customerservice/customers/123");
         get.addHeader("Accept", "text/xml");
         MyResponse httpResponse = httpclient.execute(get, response -> {
             return new MyResponse(response.getCode(), 
EntityUtils.toString(response.getEntity()));
@@ -109,7 +113,8 @@ public class CxfRsConsumerSimpleBindingImplTest extends 
CamelTestSupport {
 
     @Test
     public void testNewCustomerWithQueryParam() throws Exception {
-        HttpPost post = new HttpPost("http://localhost:"; + PORT_PATH + 
"/rest/customerservice/customers?age=12");
+        HttpPost post = new HttpPost(
+                "http://localhost:"; + PORT.getPort() + "/CxfRsConsumerTest" + 
"/rest/customerservice/customers?age=12");
         StringWriter sw = new StringWriter();
         jaxb.createMarshaller().marshal(new Customer(123, "Raul"), sw);
         post.setEntity(new StringEntity(sw.toString()));
diff --git 
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/simplebinding/CxfRsConsumerSimpleBindingTest.java
 
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/simplebinding/CxfRsConsumerSimpleBindingTest.java
index 866e2bcded5f..b48edc4858ee 100644
--- 
a/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/simplebinding/CxfRsConsumerSimpleBindingTest.java
+++ 
b/components/camel-cxf/camel-cxf-rest/src/test/java/org/apache/camel/component/cxf/jaxrs/simplebinding/CxfRsConsumerSimpleBindingTest.java
@@ -30,12 +30,12 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.attachment.AttachmentMessage;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.component.cxf.jaxrs.response.MyResponse;
 import org.apache.camel.component.cxf.jaxrs.simplebinding.testbean.Customer;
 import 
org.apache.camel.component.cxf.jaxrs.simplebinding.testbean.CustomerList;
 import org.apache.camel.component.cxf.jaxrs.simplebinding.testbean.Order;
 import org.apache.camel.component.cxf.jaxrs.simplebinding.testbean.Product;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.cxf.message.MessageContentsList;
 import org.apache.hc.client5.http.classic.methods.HttpDelete;
@@ -51,6 +51,7 @@ import org.apache.hc.core5.http.io.entity.EntityUtils;
 import org.apache.hc.core5.http.io.entity.InputStreamEntity;
 import org.apache.hc.core5.http.io.entity.StringEntity;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -62,8 +63,11 @@ import static org.junit.jupiter.api.Assertions.fail;
  * Tests for the Simple Binding style of CXF JAX-RS consumers.
  */
 public class CxfRsConsumerSimpleBindingTest extends CamelTestSupport {
-    private static final String PORT_PATH = CXFTestSupport.getPort1() + 
"/CxfRsConsumerTest";
-    private static final String CXF_RS_ENDPOINT_URI = 
"cxfrs://http://localhost:"; + PORT_PATH
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
+    private static final String BASE_URL = "http://localhost:"; + 
PORT.getPort() + "/CxfRsConsumerTest";
+    private static final String CXF_RS_ENDPOINT_URI = "cxfrs://" + BASE_URL
                                                       + 
"/rest?resourceClasses=org.apache.camel.component.cxf.jaxrs.simplebinding.testbean.CustomerServiceResource&bindingStyle=SimpleConsumer";
 
     private JAXBContext jaxb;
@@ -204,7 +208,8 @@ public class CxfRsConsumerSimpleBindingTest extends 
CamelTestSupport {
 
     @Test
     public void testGetCustomerOnlyHeaders() throws Exception {
-        HttpGet get = new HttpGet("http://localhost:"; + PORT_PATH + 
"/rest/customerservice/customers/123");
+        HttpGet get = new HttpGet(
+                BASE_URL + "/rest/customerservice/customers/123");
         get.addHeader("Accept", "text/xml");
         MyResponse httpResponse = httpclient.execute(get, response -> {
             return new MyResponse(response.getCode(), 
EntityUtils.toString(response.getEntity()));
@@ -216,7 +221,8 @@ public class CxfRsConsumerSimpleBindingTest extends 
CamelTestSupport {
 
     @Test
     public void testGetCustomerHttp404CustomStatus() throws Exception {
-        HttpGet get = new HttpGet("http://localhost:"; + PORT_PATH + 
"/rest/customerservice/customers/456");
+        HttpGet get = new HttpGet(
+                BASE_URL + "/rest/customerservice/customers/456");
         get.addHeader("Accept", "text/xml");
         Integer status = httpclient.execute(get, response -> 
response.getCode());
         assertEquals(404, status);
@@ -224,7 +230,8 @@ public class CxfRsConsumerSimpleBindingTest extends 
CamelTestSupport {
 
     @Test
     public void testUpdateCustomerBodyAndHeaders() throws Exception {
-        HttpPut put = new HttpPut("http://localhost:"; + PORT_PATH + 
"/rest/customerservice/customers/123");
+        HttpPut put = new HttpPut(
+                BASE_URL + "/rest/customerservice/customers/123");
         StringWriter sw = new StringWriter();
         jaxb.createMarshaller().marshal(new Customer(123, "Raul"), sw);
         put.setEntity(new StringEntity(sw.toString()));
@@ -236,7 +243,8 @@ public class CxfRsConsumerSimpleBindingTest extends 
CamelTestSupport {
 
     @Test
     public void testNewCustomerOnlyBody() throws Exception {
-        HttpPost post = new HttpPost("http://localhost:"; + PORT_PATH + 
"/rest/customerservice/customers");
+        HttpPost post
+                = new HttpPost(BASE_URL + "/rest/customerservice/customers");
         StringWriter sw = new StringWriter();
         jaxb.createMarshaller().marshal(new Customer(123, "Raul"), sw);
         post.setEntity(new StringEntity(sw.toString()));
@@ -248,7 +256,8 @@ public class CxfRsConsumerSimpleBindingTest extends 
CamelTestSupport {
 
     @Test
     public void testListVipCustomers() throws Exception {
-        HttpGet get = new HttpGet("http://localhost:"; + PORT_PATH + 
"/rest/customerservice/customers/vip/gold");
+        HttpGet get = new HttpGet(
+                BASE_URL + "/rest/customerservice/customers/vip/gold");
         get.addHeader("Content-Type", "text/xml");
         get.addHeader("Accept", "text/xml");
         MyResponse httpResponse = httpclient.execute(get, response -> {
@@ -265,7 +274,8 @@ public class CxfRsConsumerSimpleBindingTest extends 
CamelTestSupport {
 
     @Test
     public void testUpdateVipCustomer() throws Exception {
-        HttpPut put = new HttpPut("http://localhost:"; + PORT_PATH + 
"/rest/customerservice/customers/vip/gold/123");
+        HttpPut put = new HttpPut(
+                BASE_URL + "/rest/customerservice/customers/vip/gold/123");
         StringWriter sw = new StringWriter();
         jaxb.createMarshaller().marshal(new Customer(123, "Raul2"), sw);
         put.setEntity(new StringEntity(sw.toString()));
@@ -277,7 +287,8 @@ public class CxfRsConsumerSimpleBindingTest extends 
CamelTestSupport {
 
     @Test
     public void testDeleteVipCustomer() throws Exception {
-        HttpDelete delete = new HttpDelete("http://localhost:"; + PORT_PATH + 
"/rest/customerservice/customers/vip/gold/123");
+        HttpDelete delete = new HttpDelete(
+                BASE_URL + "/rest/customerservice/customers/vip/gold/123");
         delete.addHeader("Accept", "text/xml");
         Integer status = httpclient.execute(delete, response -> 
response.getCode());
         assertEquals(200, status);
@@ -285,7 +296,9 @@ public class CxfRsConsumerSimpleBindingTest extends 
CamelTestSupport {
 
     @Test
     public void testUploadInputStream() throws Exception {
-        HttpPost post = new HttpPost("http://localhost:"; + PORT_PATH + 
"/rest/customerservice/customers/123/image_inputstream");
+        HttpPost post = new HttpPost(
+                BASE_URL
+                                     + 
"/rest/customerservice/customers/123/image_inputstream");
         post.addHeader("Content-Type", "image/jpeg");
         post.addHeader("Accept", "text/xml");
         post.setEntity(new 
InputStreamEntity(this.getClass().getClassLoader().getResourceAsStream("java.jpg"),
 100, null));
@@ -295,7 +308,9 @@ public class CxfRsConsumerSimpleBindingTest extends 
CamelTestSupport {
 
     @Test
     public void testUploadDataHandler() throws Exception {
-        HttpPost post = new HttpPost("http://localhost:"; + PORT_PATH + 
"/rest/customerservice/customers/123/image_datahandler");
+        HttpPost post = new HttpPost(
+                BASE_URL
+                                     + 
"/rest/customerservice/customers/123/image_datahandler");
         post.addHeader("Content-Type", "image/jpeg");
         post.addHeader("Accept", "text/xml");
         post.setEntity(new 
InputStreamEntity(this.getClass().getClassLoader().getResourceAsStream("java.jpg"),
 100, null));
@@ -306,7 +321,9 @@ public class CxfRsConsumerSimpleBindingTest extends 
CamelTestSupport {
     @Test
     public void testMultipartPostWithParametersAndPayload() throws Exception {
         HttpPost post
-                = new HttpPost("http://localhost:"; + PORT_PATH + 
"/rest/customerservice/customers/multipart/123?query=abcd");
+                = new HttpPost(
+                        BASE_URL
+                               + 
"/rest/customerservice/customers/multipart/123?query=abcd");
         MultipartEntityBuilder builder = 
MultipartEntityBuilder.create().setMode(HttpMultipartMode.STRICT);
         builder.addBinaryBody("part1", new 
File(this.getClass().getClassLoader().getResource("java.jpg").toURI()),
                 ContentType.create("image/jpeg"), "java.jpg");
@@ -323,7 +340,9 @@ public class CxfRsConsumerSimpleBindingTest extends 
CamelTestSupport {
     @Test
     public void testMultipartPostWithoutParameters() throws Exception {
         HttpPost post
-                = new HttpPost("http://localhost:"; + PORT_PATH + 
"/rest/customerservice/customers/multipart/withoutParameters");
+                = new HttpPost(
+                        BASE_URL
+                               + 
"/rest/customerservice/customers/multipart/withoutParameters");
         MultipartEntityBuilder builder = 
MultipartEntityBuilder.create().setMode(HttpMultipartMode.STRICT);
         builder.addBinaryBody("part1", new 
File(this.getClass().getClassLoader().getResource("java.jpg").toURI()),
                 ContentType.create("image/jpeg"), "java.jpg");
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/holder/CxfHolderConsumerTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/holder/CxfHolderConsumerTest.java
index 175ece23a516..12bd6cc08558 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/holder/CxfHolderConsumerTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/holder/CxfHolderConsumerTest.java
@@ -19,17 +19,21 @@ package org.apache.camel.component.cxf.holder;
 import jakarta.xml.ws.Holder;
 
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.cxf.frontend.ClientFactoryBean;
 import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class CxfHolderConsumerTest extends CamelTestSupport {
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
     protected static final String ADDRESS = "http://localhost:";
-                                            + CXFTestSupport.getPort1() + 
"/CxfHolderConsumerTest/test";
+                                            + PORT.getPort() + 
"/CxfHolderConsumerTest/test";
     protected static final String CXF_ENDPOINT_URI = "cxf://" + ADDRESS
                                                      + 
"?serviceClass=org.apache.camel.component.cxf.holder.MyOrderEndpoint"
                                                      + 
"&loggingFeatureEnabled=true";
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CXFWsdlOnlyPayloadModeMultiPartNoSpringTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CXFWsdlOnlyPayloadModeMultiPartNoSpringTest.java
index daf5dfb82cc7..5b641187163d 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CXFWsdlOnlyPayloadModeMultiPartNoSpringTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CXFWsdlOnlyPayloadModeMultiPartNoSpringTest.java
@@ -25,7 +25,7 @@ import jakarta.xml.ws.Holder;
 import javax.xml.namespace.QName;
 
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.camel.wsdl_first.PersonMultiPartImpl;
 import org.apache.camel.wsdl_first.PersonMultiPartPortType;
@@ -33,6 +33,7 @@ import org.apache.camel.wsdl_first.PersonMultiPartService;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
@@ -40,8 +41,13 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
  * Unit test that verifies multi part SOAP message functionality
  */
 public class CXFWsdlOnlyPayloadModeMultiPartNoSpringTest extends 
CamelTestSupport {
-    protected static int port1 = CXFTestSupport.getPort1();
-    protected static int port2 = CXFTestSupport.getPort2();
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT_2 = AvailablePortFinder.find();
+
+    protected static int port1 = PORT.getPort();
+    protected static int port2 = PORT_2.getPort();
 
     protected static final String SERVICE_NAME_PROP = "serviceName=";
     protected static final String PORT_NAME_PROP = 
"portName={http://camel.apache.org/wsdl-first}PersonMultiPartPort";;
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CXFWsdlOnlyPayloadModeNoSpringTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CXFWsdlOnlyPayloadModeNoSpringTest.java
index a6954228513c..794e1c5d854b 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CXFWsdlOnlyPayloadModeNoSpringTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CXFWsdlOnlyPayloadModeNoSpringTest.java
@@ -27,7 +27,7 @@ import javax.xml.namespace.QName;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.camel.wsdl_first.Person;
 import org.apache.camel.wsdl_first.PersonImpl;
@@ -40,6 +40,7 @@ import org.apache.cxf.frontend.ClientProxy;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -48,18 +49,19 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class CXFWsdlOnlyPayloadModeNoSpringTest extends CamelTestSupport {
+    @RegisterExtension
+    final AvailablePortFinder.Port port1 = AvailablePortFinder.find();
+    @RegisterExtension
+    final AvailablePortFinder.Port port2 = AvailablePortFinder.find();
 
     protected static final String SERVICE_NAME_PROP = "serviceName=";
     protected static final String PORT_NAME_PROP = 
"portName={http://camel.apache.org/wsdl-first}soap";;
     protected static final String WSDL_URL_PROP = 
"wsdlURL=classpath:person.wsdl";
     protected Endpoint endpoint;
 
-    protected int port1 = CXFTestSupport.getPort1();
-    protected int port2 = CXFTestSupport.getPort2();
-
     @BeforeEach
     public void startService() {
-        endpoint = Endpoint.publish("http://localhost:"; + port1 + "/" + 
getClass().getSimpleName()
+        endpoint = Endpoint.publish("http://localhost:"; + port1.getPort() + 
"/" + getClass().getSimpleName()
                                     + "/PersonService",
                 new PersonImpl());
     }
@@ -116,7 +118,7 @@ public class CXFWsdlOnlyPayloadModeNoSpringTest extends 
CamelTestSupport {
 
         ((BindingProvider) client).getRequestContext()
                 .put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
-                        "http://localhost:"; + port1 + "/" + 
getClass().getSimpleName() + "/PersonService");
+                        "http://localhost:"; + port1.getPort() + "/" + 
getClass().getSimpleName() + "/PersonService");
         c.getInInterceptors().add(new LoggingInInterceptor());
         c.getOutInterceptors().add(new LoggingOutInterceptor());
 
@@ -137,7 +139,7 @@ public class CXFWsdlOnlyPayloadModeNoSpringTest extends 
CamelTestSupport {
         Person client = ss.getSoap();
         ((BindingProvider) client).getRequestContext()
                 .put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,
-                        "http://localhost:"; + port1 + "/"
+                        "http://localhost:"; + port1.getPort() + "/"
                                                                 + 
getClass().getSimpleName() + "/PersonService");
 
         Client c = ClientProxy.getClient(client);
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerClientDisconnectedTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerClientDisconnectedTest.java
index 2f1cd5364e8c..ab3c6f48c2be 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerClientDisconnectedTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerClientDisconnectedTest.java
@@ -21,20 +21,23 @@ import java.io.OutputStreamWriter;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.spi.Synchronization;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.commons.net.telnet.TelnetClient;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 /**
  * UnitOfWork should complete even if client disconnected during the 
processing.
  */
 public class CxfConsumerClientDisconnectedTest extends CamelTestSupport {
-    private static final int PORT = CXFTestSupport.getPort1();
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
     private static final String CONTEXT = "/CxfConsumerClientDisconnectedTest";
-    private static final String CXT = PORT + CONTEXT;
+    private static final String CXT = PORT.getPort() + CONTEXT;
 
     private String cxfRsEndpointUri = "cxf://http://localhost:"; + CXT + 
"/rest?synchronous=" + isSynchronous()
                                       + 
"&serviceClass=org.apache.camel.component.cxf.jaxws.ServiceProvider&dataFormat=PAYLOAD";
@@ -83,7 +86,7 @@ public class CxfConsumerClientDisconnectedTest extends 
CamelTestSupport {
 
         TelnetClient telnetClient = new TelnetClient();
 
-        telnetClient.connect("localhost", PORT);
+        telnetClient.connect("localhost", PORT.getPort());
         telnetClient.setTcpNoDelay(true);
         telnetClient.setReceiveBufferSize(1);
 
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerContinuationTimeoutTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerContinuationTimeoutTest.java
index 8c505d3a9175..49dc5eaa2c38 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerContinuationTimeoutTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerContinuationTimeoutTest.java
@@ -22,16 +22,19 @@ import org.apache.camel.AsyncCallback;
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.support.AsyncProcessorSupport;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class CxfConsumerContinuationTimeoutTest extends CamelTestSupport {
+    @RegisterExtension
+    final AvailablePortFinder.Port port1 = AvailablePortFinder.find();
 
     private static final String ECHO_METHOD = "ns1:echo 
xmlns:ns1=\"http://jaxws.cxf.component.camel.apache.org/\"";;
 
@@ -46,7 +49,7 @@ public class CxfConsumerContinuationTimeoutTest extends 
CamelTestSupport {
               + "</ns1:echoBooleanResponse></soap:Body></soap:Envelope>";
 
     protected final String simpleEndpointAddress = "http://localhost:";
-                                                   + CXFTestSupport.getPort1() 
+ "/" + getClass().getSimpleName() + "/test";
+                                                   + port1.getPort() + "/" + 
getClass().getSimpleName() + "/test";
     protected final String simpleEndpointURI = "cxf://" + simpleEndpointAddress
                                                + 
"?serviceClass=org.apache.camel.component.cxf.jaxws.HelloService";
 
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerMessageTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerMessageTest.java
index ceb5ae6780f9..23508993454b 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerMessageTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerMessageTest.java
@@ -20,18 +20,22 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.cxf.BusFactory;
 import org.apache.cxf.frontend.ClientFactoryBean;
 import org.apache.cxf.frontend.ClientProxyFactoryBean;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertNull;
 
 public class CxfConsumerMessageTest extends CamelTestSupport {
+    @RegisterExtension
+    final AvailablePortFinder.Port port = AvailablePortFinder.find();
+
     private static final String TEST_MESSAGE = "Hello World!";
 
     private static final String ECHO_METHOD = "ns1:echo 
xmlns:ns1=\"http://jaxws.cxf.component.camel.apache.org/\"";;
@@ -47,7 +51,7 @@ public class CxfConsumerMessageTest extends CamelTestSupport {
               + "</ns1:echoBooleanResponse></soap:Body></soap:Envelope>";
 
     protected final String simpleEndpointAddress = "http://localhost:";
-                                                   + CXFTestSupport.getPort1() 
+ "/" + getClass().getSimpleName() + "/test";
+                                                   + port.getPort() + "/" + 
getClass().getSimpleName() + "/test";
     protected final String simpleEndpointURI = "cxf://" + simpleEndpointAddress
                                                + 
"?serviceClass=org.apache.camel.component.cxf.jaxws.HelloService";
 
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerMuteExceptionTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerMuteExceptionTest.java
index d9c964b3d870..61fe1fa5790c 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerMuteExceptionTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerMuteExceptionTest.java
@@ -17,13 +17,14 @@
 package org.apache.camel.component.cxf.jaxws;
 
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.cxf.frontend.ClientFactoryBean;
 import org.apache.cxf.greeter_control.Greeter;
 import org.apache.cxf.greeter_control.PingMeFault;
 import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
@@ -37,15 +38,21 @@ import static 
org.assertj.core.api.Assertions.assertThatThrownBy;
  * is written against, so it is still returned in full.
  */
 class CxfConsumerMuteExceptionTest extends CamelTestSupport {
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT_2 = AvailablePortFinder.find();
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT_3 = AvailablePortFinder.find();
 
     private static final String DETAIL = 
"the-internal-detail-a-caller-must-not-see";
 
     private static final String MUTED_ADDRESS
-            = "http://localhost:"; + CXFTestSupport.getPort1() + 
"/CxfConsumerMuteExceptionTest/muted";
+            = "http://localhost:"; + PORT.getPort() + 
"/CxfConsumerMuteExceptionTest/muted";
     private static final String UNMUTED_ADDRESS
-            = "http://localhost:"; + CXFTestSupport.getPort2() + 
"/CxfConsumerMuteExceptionTest/unmuted";
+            = "http://localhost:"; + PORT_2.getPort() + 
"/CxfConsumerMuteExceptionTest/unmuted";
     private static final String DECLARED_ADDRESS
-            = "http://localhost:"; + CXFTestSupport.getPort3() + 
"/CxfConsumerMuteExceptionTest/declared";
+            = "http://localhost:"; + PORT_3.getPort() + 
"/CxfConsumerMuteExceptionTest/declared";
 
     private static final String SERVICE_CLASS = 
"serviceClass=org.apache.cxf.greeter_control.Greeter";
 
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerPayloadFaultTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerPayloadFaultTest.java
index 6ed1571bb0d7..cce40524ddd7 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerPayloadFaultTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerPayloadFaultTest.java
@@ -29,7 +29,7 @@ import org.w3c.dom.Element;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.camel.wsdl_first.Person;
 import org.apache.camel.wsdl_first.PersonService;
@@ -41,6 +41,7 @@ import org.apache.cxf.ext.logging.LoggingOutInterceptor;
 import org.apache.cxf.frontend.ClientProxy;
 import org.apache.cxf.staxutils.StaxUtils;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -51,6 +52,9 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
  * Unit test to verify CxfConsumer to generate SOAP fault in PAYLOAD mode
  */
 public class CxfConsumerPayloadFaultTest extends CamelTestSupport {
+    @RegisterExtension
+    final AvailablePortFinder.Port port1 = AvailablePortFinder.find();
+
     protected static final String PORT_NAME_PROP = 
"portName={http://camel.apache.org/wsdl-first}soap";;
     protected static final String SERVICE_NAME = 
"{http://camel.apache.org/wsdl-first}PersonService";;
     protected static final String SERVICE_NAME_PROP = "serviceName=" + 
SERVICE_NAME;
@@ -59,7 +63,7 @@ public class CxfConsumerPayloadFaultTest extends 
CamelTestSupport {
     protected static final String DETAILS = "<detail><UnknownPersonFault 
xmlns=\"http://camel.apache.org/wsdl-first/types\";>"
                                             + 
"<personId></personId></UnknownPersonFault></detail>";
 
-    protected final String serviceAddress = "http://localhost:"; + 
CXFTestSupport.getPort1()
+    protected final String serviceAddress = "http://localhost:"; + 
port1.getPort()
                                             + "/" + getClass().getSimpleName() 
+ "/PersonService";
     protected final String fromURI = "cxf://" + serviceAddress + "?"
                                      + PORT_NAME_PROP + "&" + 
SERVICE_NAME_PROP + "&" + WSDL_URL_PROP + "&dataFormat=payload";
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerPayloadXPathClientServerTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerPayloadXPathClientServerTest.java
index b1e6346a9cfa..74a016417dad 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerPayloadXPathClientServerTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerPayloadXPathClientServerTest.java
@@ -29,10 +29,10 @@ import org.w3c.dom.Text;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.component.cxf.common.CxfPayload;
 import org.apache.camel.converter.jaxp.XmlConverter;
 import org.apache.camel.language.xpath.XPathBuilder;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.cxf.BusFactory;
@@ -40,17 +40,21 @@ import org.apache.cxf.binding.soap.SoapHeader;
 import org.apache.cxf.frontend.ClientFactoryBean;
 import org.apache.cxf.frontend.ClientProxyFactoryBean;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.apache.camel.test.junit6.TestSupport.assertIsInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class CxfConsumerPayloadXPathClientServerTest extends CamelTestSupport {
+    @RegisterExtension
+    final AvailablePortFinder.Port port1 = AvailablePortFinder.find();
+
     private static final String ECHO_RESPONSE = "<ns1:echoResponse 
xmlns:ns1=\"http://jaxws.cxf.component.camel.apache.org/\";>"
                                                 + "<return 
xmlns=\"http://jaxws.cxf.component.camel.apache.org/\";>echo Hello 
World!</return>"
                                                 + "</ns1:echoResponse>";
 
     protected final String simpleEndpointAddress = "http://localhost:";
-                                                   + CXFTestSupport.getPort1() 
+ "/" + getClass().getSimpleName() + "/test";
+                                                   + port1.getPort() + "/" + 
getClass().getSimpleName() + "/test";
     protected final String simpleEndpointURI = "cxf://" + simpleEndpointAddress
                                                + 
"?serviceClass=org.apache.camel.component.cxf.jaxws.HelloService";
 
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerProviderTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerProviderTest.java
index 8bb0683e680e..631cd8fd0bdf 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerProviderTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerProviderTest.java
@@ -22,16 +22,19 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.converter.jaxp.XmlConverter;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class CxfConsumerProviderTest extends CamelTestSupport {
+    @RegisterExtension
+    final AvailablePortFinder.Port port1 = AvailablePortFinder.find();
 
     protected static final String REQUEST_MESSAGE
             = "<soapenv:Envelope 
xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"; 
xmlns:ser=\"test/service\">"
@@ -45,7 +48,7 @@ public class CxfConsumerProviderTest extends CamelTestSupport 
{
     protected static final String RESPONSE = "<pong xmlns=\"test/service\"/>";
 
     protected final String simpleEndpointAddress = "http://localhost:";
-                                                   + CXFTestSupport.getPort1() 
+ "/" + getClass().getSimpleName() + "/test";
+                                                   + port1.getPort() + "/" + 
getClass().getSimpleName() + "/test";
     protected final String simpleEndpointURI = "cxf://" + simpleEndpointAddress
                                                + 
"?serviceClass=org.apache.camel.component.cxf.jaxws.ServiceProvider";
 
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerResponseTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerResponseTest.java
index ba5ff91670ac..2f5eff5ede14 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerResponseTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerResponseTest.java
@@ -26,20 +26,23 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.component.cxf.common.DataFormat;
 import org.apache.camel.component.cxf.common.message.CxfConstants;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.cxf.BusFactory;
 import org.apache.cxf.endpoint.Client;
 import org.apache.cxf.frontend.ClientFactoryBean;
 import org.apache.cxf.frontend.ClientProxyFactoryBean;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 public class CxfConsumerResponseTest extends CamelTestSupport {
+    @RegisterExtension
+    final AvailablePortFinder.Port port1 = AvailablePortFinder.find();
 
     private static final String ECHO_OPERATION = "echo";
     private static final String ECHO_BOOLEAN_OPERATION = "echoBoolean";
@@ -48,7 +51,7 @@ public class CxfConsumerResponseTest extends CamelTestSupport 
{
     private static int pingCounter;
 
     protected final String simpleEndpointAddress = "http://localhost:";
-                                                   + CXFTestSupport.getPort1() 
+ "/" + getClass().getSimpleName() + "/test";
+                                                   + port1.getPort() + "/" + 
getClass().getSimpleName() + "/test";
 
     protected final String simpleEndpointURI = "cxf://" + simpleEndpointAddress
                                                + 
"?serviceClass=org.apache.camel.component.cxf.jaxws.HelloService"
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerStartTwiceTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerStartTwiceTest.java
index ceb93e4e4164..cf04d1b8b41e 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerStartTwiceTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerStartTwiceTest.java
@@ -18,20 +18,22 @@ package org.apache.camel.component.cxf.jaxws;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.test.AvailablePortFinder;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class CxfConsumerStartTwiceTest {
-    static final int PORT = CXFTestSupport.getPort6();
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
 
     @Test
     public void startServiceTwice() throws Exception {
         try (CamelContext context = new DefaultCamelContext()) {
-            final String fromStr = "cxf:http://localhost:"; + PORT + "/"
+            final String fromStr = "cxf:http://localhost:"; + PORT.getPort() + 
"/"
                                    + this.getClass().getSimpleName()
                                    + 
"/test?serviceClass=org.apache.camel.component.cxf.jaxws.HelloService";
 
@@ -52,7 +54,7 @@ public class CxfConsumerStartTwiceTest {
 
             Exception ex = assertThrows(Exception.class, context::start);
             assertTrue(ex.getMessage().endsWith(
-                    "Multiple consumers for the same endpoint is not allowed: 
cxf://http://localhost:"; + PORT
+                    "Multiple consumers for the same endpoint is not allowed: 
cxf://http://localhost:"; + PORT.getPort()
                                                 + "/" + 
getClass().getSimpleName()
                                                 + 
"/test?serviceClass=org.apache.camel.component.cxf.jaxws.HelloService"));
 
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerStreamCacheTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerStreamCacheTest.java
index ddf9909b4ca5..984d4ced933c 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerStreamCacheTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerStreamCacheTest.java
@@ -24,12 +24,13 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.converter.stream.CachedOutputStream;
 import org.apache.camel.spi.Synchronization;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertThrows;
@@ -37,6 +38,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 //Modified from 
https://issues.apache.org/jira/secure/attachment/12730161/0001-CAMEL-8419-Camel-StreamCache-does-not-work-with-CXF-.patch
 public class CxfConsumerStreamCacheTest extends CamelTestSupport {
+    @RegisterExtension
+    final AvailablePortFinder.Port port1 = AvailablePortFinder.find();
 
     protected static final String REQUEST_MESSAGE
             = "<soapenv:Envelope 
xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"; 
xmlns:ser=\"test/service\">"
@@ -50,7 +53,7 @@ public class CxfConsumerStreamCacheTest extends 
CamelTestSupport {
     protected static final String RESPONSE = "<pong xmlns=\"test/service\"/>";
 
     protected final String simpleEndpointAddress = "http://localhost:";
-                                                   + CXFTestSupport.getPort1() 
+ "/" + getClass().getSimpleName() + "/test";
+                                                   + port1.getPort() + "/" + 
getClass().getSimpleName() + "/test";
     protected final String simpleEndpointURI = "cxf://" + simpleEndpointAddress
                                                + "?synchronous=" + 
isSynchronous()
                                                + 
"&serviceClass=org.apache.camel.component.cxf.jaxws.ServiceProvider&dataFormat=PAYLOAD";
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerSuspendTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerSuspendTest.java
index 5f22a2e74342..80e399c5744a 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerSuspendTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerSuspendTest.java
@@ -24,8 +24,8 @@ import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.support.service.ServiceSupport;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.cxf.Bus;
@@ -41,6 +41,7 @@ import 
org.apache.logging.log4j.core.appender.AbstractAppender;
 import org.apache.logging.log4j.core.config.Property;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.awaitility.Awaitility.await;
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -53,8 +54,10 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
  * the requests in flight complete.
  */
 class CxfConsumerSuspendTest extends CamelTestSupport {
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
 
-    private static final String ADDRESS = "http://localhost:"; + 
CXFTestSupport.getPort1() + "/CxfConsumerSuspendTest/test";
+    private static final String ADDRESS = "http://localhost:"; + PORT.getPort() 
+ "/CxfConsumerSuspendTest/test";
 
     private final AtomicInteger processed = new AtomicInteger();
     private final CountDownLatch entered = new CountDownLatch(1);
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerTest.java
index 7daf04f0898c..fa05ebe8b2c6 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfConsumerTest.java
@@ -26,23 +26,27 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.component.cxf.common.DataFormat;
 import org.apache.camel.component.cxf.common.message.CxfConstants;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.cxf.BusFactory;
 import org.apache.cxf.endpoint.Client;
 import org.apache.cxf.frontend.ClientFactoryBean;
 import org.apache.cxf.frontend.ClientProxyFactoryBean;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class CxfConsumerTest extends CamelTestSupport {
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
     protected static final String SIMPLE_ENDPOINT_ADDRESS = "http://localhost:";
-                                                            + 
CXFTestSupport.getPort1() + "/CxfConsumerTest/test";
+                                                            + PORT.getPort() + 
"/CxfConsumerTest/test";
     protected static final String SIMPLE_ENDPOINT_URI = "cxf://" + 
SIMPLE_ENDPOINT_ADDRESS
                                                         + 
"?serviceClass=org.apache.camel.component.cxf.jaxws.HelloService"
                                                         + 
"&publishedEndpointUrl=http://www.simple.com/services/test";;
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfCustomizedExceptionTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfCustomizedExceptionTest.java
index f14df50a16f6..9d7939dfdb9c 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfCustomizedExceptionTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfCustomizedExceptionTest.java
@@ -32,9 +32,9 @@ import org.apache.camel.ExchangePattern;
 import org.apache.camel.ExchangePropertyKey;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.component.cxf.common.message.CxfConstants;
 import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.camel.util.IOHelper;
 import org.apache.cxf.Bus;
@@ -44,12 +44,15 @@ import org.apache.cxf.frontend.ClientFactoryBean;
 import org.apache.cxf.frontend.ClientProxyFactoryBean;
 import org.apache.cxf.interceptor.Fault;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class CxfCustomizedExceptionTest extends CamelTestSupport {
+    @RegisterExtension
+    final AvailablePortFinder.Port port1 = AvailablePortFinder.find();
 
     protected static final String SERVICE_CLASS = 
"serviceClass=org.apache.camel.component.cxf.jaxws.HelloService";
     private static final String EXCEPTION_MESSAGE = "This is an exception test 
message";
@@ -66,7 +69,7 @@ public class CxfCustomizedExceptionTest extends 
CamelTestSupport {
         // END SNIPPET: FaultDefine
     }
 
-    protected String routerAddress = "http://localhost:"; + 
CXFTestSupport.getPort1()
+    protected String routerAddress = "http://localhost:"; + port1.getPort()
                                      + "/" + getClass().getSimpleName() + 
"/router";
     protected String routerEndpointURI = "cxf://" + routerAddress + "?" + 
SERVICE_CLASS;
     protected String serviceURI = "cxf://" + routerAddress + "?" + 
SERVICE_CLASS;
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfJavaOnlyCamelContextAwareTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfJavaOnlyCamelContextAwareTest.java
index 48bff09ba96c..f016a070614a 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfJavaOnlyCamelContextAwareTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfJavaOnlyCamelContextAwareTest.java
@@ -24,11 +24,12 @@ import org.apache.camel.CamelContextAware;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.component.cxf.common.CxfPayload;
 import org.apache.camel.component.cxf.common.DataFormat;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -39,9 +40,10 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
  * A unit test for java only CXF in payload mode
  */
 public class CxfJavaOnlyCamelContextAwareTest extends CamelTestSupport {
-    private static final Logger LOG = 
LoggerFactory.getLogger(CxfJavaOnlyCamelContextAwareTest.class);
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
 
-    private static int port1 = CXFTestSupport.getPort1();
+    private static final Logger LOG = 
LoggerFactory.getLogger(CxfJavaOnlyCamelContextAwareTest.class);
 
     @Test
     public void testCxfEndpointHasCamelContext() throws Exception {
@@ -73,7 +75,7 @@ public class CxfJavaOnlyCamelContextAwareTest extends 
CamelTestSupport {
             @Override
             public void configure() throws Exception {
                 CxfEndpoint endpoint = new CxfEndpoint();
-                endpoint.setAddress("http://localhost:"; + port1 + 
"/PersonService");
+                endpoint.setAddress("http://localhost:"; + PORT.getPort() + 
"/PersonService");
                 endpoint.setServiceNameAsQName(new 
QName("http://camel.apache.org/wsdl-first";, "PersonService"));
                 endpoint.setPortNameAsQName(new 
QName("http://camel.apache.org/wsdl-first";, "soap"));
                 endpoint.setWsdlURL("classpath:person.wsdl");
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfJavaOnlyPayloadModeTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfJavaOnlyPayloadModeTest.java
index ad4350e897e6..139f2a866f97 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfJavaOnlyPayloadModeTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfJavaOnlyPayloadModeTest.java
@@ -21,10 +21,11 @@ import org.w3c.dom.Document;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.component.cxf.common.CxfPayload;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -33,9 +34,10 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
  * A unit test for java only CXF in payload mode
  */
 public class CxfJavaOnlyPayloadModeTest extends CamelTestSupport {
-    private static int port1 = CXFTestSupport.getPort1();
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
 
-    private String url = "cxf://http://localhost:"; + port1 + 
"/CxfJavaOnlyPayloadModeTest/helloworld"
+    private String url = "cxf://http://localhost:"; + PORT.getPort() + 
"/CxfJavaOnlyPayloadModeTest/helloworld"
                          + "?wsdlURL=classpath:person.wsdl"
                          + 
"&serviceName={http://camel.apache.org/wsdl-first}PersonService";
                          + "&portName={http://camel.apache.org/wsdl-first}soap";
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfMixedModeRouterTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfMixedModeRouterTest.java
index 35856b1e9e2a..3ace3053b830 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfMixedModeRouterTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfMixedModeRouterTest.java
@@ -26,12 +26,12 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.component.cxf.common.CxfPayload;
 import org.apache.camel.component.cxf.common.DataFormat;
 import org.apache.camel.component.cxf.common.message.CxfConstants;
 import org.apache.camel.converter.jaxp.XmlConverter;
 import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.cxf.BusFactory;
 import org.apache.cxf.binding.soap.SoapHeader;
@@ -43,16 +43,20 @@ import org.apache.cxf.staxutils.StaxUtils;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class CxfMixedModeRouterTest extends CamelTestSupport {
-    protected static int port1 = CXFTestSupport.getPort1();
-    protected static int port2 = CXFTestSupport.getPort2();
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT_2 = AvailablePortFinder.find();
 
     protected static Server server;
-    protected static final String ROUTER_ADDRESS = "http://localhost:"; + port1 
+ "/CxfMixedModeRouterTest/router";
-    protected static final String SERVICE_ADDRESS = "http://localhost:"; + 
port2 + "/CxfMixedModeRouterTest/helloworld";
+    protected static final String ROUTER_ADDRESS = "http://localhost:"; + 
PORT.getPort() + "/CxfMixedModeRouterTest/router";
+    protected static final String SERVICE_ADDRESS
+            = "http://localhost:"; + PORT_2.getPort() + 
"/CxfMixedModeRouterTest/helloworld";
     protected static final String SERVICE_CLASS = 
"serviceClass=org.apache.camel.component.cxf.jaxws.HelloService";
 
     private String routerEndpointURI
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfMultipleConsumersSupportTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfMultipleConsumersSupportTest.java
index 52a952da5bc0..28727d5e5935 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfMultipleConsumersSupportTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfMultipleConsumersSupportTest.java
@@ -17,24 +17,28 @@
 package org.apache.camel.component.cxf.jaxws;
 
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class CxfMultipleConsumersSupportTest extends CamelTestSupport {
-    protected static int port1 = CXFTestSupport.getPort1();
-    protected static int port2 = CXFTestSupport.getPort2();
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT_2 = AvailablePortFinder.find();
 
     protected static final String SIMPLE_ENDPOINT_ADDRESS
-            = "http://localhost:"; + port1 + 
"/CxfMultipleConsumersSupportTest/test";
+            = "http://localhost:"; + PORT.getPort() + 
"/CxfMultipleConsumersSupportTest/test";
     protected static final String SIMPLE_ENDPOINT_URI = "cxf://" + 
SIMPLE_ENDPOINT_ADDRESS
                                                         + 
"?serviceClass=org.apache.camel.component.cxf.jaxws.HelloService";
 
-    protected static final String SIMPLE_OTHER_ADDRESS = "http://localhost:"; + 
port2 + "/CxfMultipleConsumersSupportTest/test";
+    protected static final String SIMPLE_OTHER_ADDRESS
+            = "http://localhost:"; + PORT_2.getPort() + 
"/CxfMultipleConsumersSupportTest/test";
     protected static final String SIMPLE_OTHER_URI = "cxf://" + 
SIMPLE_OTHER_ADDRESS
                                                      + 
"?serviceClass=org.apache.camel.component.cxf.jaxws.HelloService";
 
@@ -54,7 +58,7 @@ public class CxfMultipleConsumersSupportTest extends 
CamelTestSupport {
         });
         Exception e = assertThrows(Exception.class, context::start);
         assertTrue(e.getMessage().endsWith(
-                "Multiple consumers for the same endpoint is not allowed: 
cxf://http://localhost:"; + port1
+                "Multiple consumers for the same endpoint is not allowed: 
cxf://http://localhost:"; + PORT.getPort()
                                            + 
"/CxfMultipleConsumersSupportTest/test?serviceClass=org.apache.camel.component.cxf.jaxws.HelloService"));
     }
 
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfPayLoadSoapHeaderTestAbstract.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfPayLoadSoapHeaderTestAbstract.java
index 193f4046f823..c77fce040917 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfPayLoadSoapHeaderTestAbstract.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfPayLoadSoapHeaderTestAbstract.java
@@ -18,21 +18,24 @@ package org.apache.camel.component.cxf.jaxws;
 
 import jakarta.xml.ws.Endpoint;
 
-import org.apache.camel.component.cxf.common.CXFTestSupport;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 public class CxfPayLoadSoapHeaderTestAbstract extends CamelTestSupport {
-    static int port1 = CXFTestSupport.getPort1();
-    static int port2 = CXFTestSupport.getPort2();
+    @RegisterExtension
+    final AvailablePortFinder.Port port1 = AvailablePortFinder.find();
+    @RegisterExtension
+    final AvailablePortFinder.Port port2 = AvailablePortFinder.find();
 
     protected String getRouterEndpointURI() {
-        return "cxf:http://localhost:"; + port1 + "/" + 
getClass().getSimpleName()
+        return "cxf:http://localhost:"; + port1.getPort() + "/" + 
getClass().getSimpleName()
                + 
"/pizza_service/services/PizzaService?wsdlURL=classpath:pizza_service.wsdl&dataFormat=PAYLOAD";
     }
 
     protected String getServiceEndpointURI() {
-        return "cxf:http://localhost:"; + port2 + "/" + 
getClass().getSimpleName()
+        return "cxf:http://localhost:"; + port2.getPort() + "/" + 
getClass().getSimpleName()
                + 
"/new_pizza_service/services/PizzaService?wsdlURL=classpath:pizza_service.wsdl&dataFormat=PAYLOAD";
     }
 
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerContextTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerContextTest.java
index 63067f5ca03a..121d0ac5af69 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerContextTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerContextTest.java
@@ -25,11 +25,12 @@ import jakarta.xml.ws.BindingProvider;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.component.cxf.common.message.CxfConstants;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.cxf.endpoint.Client;
 import org.apache.cxf.message.Message;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -40,6 +41,9 @@ public class CxfProducerContextTest extends CxfProducerTest {
     // *** This class extends CxfProducerTest, so see that class for other 
tests
     // run by this code
 
+    @RegisterExtension
+    final AvailablePortFinder.Port contextPort = AvailablePortFinder.find();
+
     private static final String TEST_KEY = "sendSimpleMessage-test";
     private static final String TEST_VALUE = "exchange property value should 
get passed through request context";
 
@@ -56,13 +60,13 @@ public class CxfProducerContextTest extends CxfProducerTest 
{
 
     @Override
     protected String getSimpleEndpointUri() {
-        return "cxf://http://localhost:"; + CXFTestSupport.getPort4()
+        return "cxf://http://localhost:"; + contextPort.getPort()
                + 
"/CxfProducerContextTest/simple?serviceClass=org.apache.camel.component.cxf.jaxws.HelloService";
     }
 
     @Override
     protected String getJaxwsEndpointUri() {
-        return "cxf://http://localhost:"; + CXFTestSupport.getPort4()
+        return "cxf://http://localhost:"; + contextPort.getPort()
                + 
"/CxfProducerContextTest/jaxws?serviceClass=org.apache.hello_world_soap_http.Greeter";
     }
 
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerRouterTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerRouterTest.java
index c5d043cff220..9b9329907e3d 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerRouterTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerRouterTest.java
@@ -25,10 +25,10 @@ import org.apache.camel.Exchange;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.Message;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.component.cxf.common.message.CxfConstants;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.support.DefaultExchange;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.camel.util.URISupport;
 import org.apache.cxf.BusFactory;
@@ -38,6 +38,7 @@ import org.apache.cxf.helpers.CastUtils;
 import org.apache.cxf.message.MessageContentsList;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -46,9 +47,12 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class CxfProducerRouterTest extends CamelTestSupport {
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
     private static final Logger LOG = 
LoggerFactory.getLogger(CxfProducerRouterTest.class);
     private static final String SIMPLE_SERVER_ADDRESS
-            = "http://localhost:"; + CXFTestSupport.getPort1() + 
"/CxfProducerRouterTest/test";
+            = "http://localhost:"; + PORT.getPort() + 
"/CxfProducerRouterTest/test";
     private static final String REQUEST_MESSAGE = "<soap:Envelope 
xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\";>"
                                                   + "<soap:Body><ns1:echo 
xmlns:ns1=\"http://jaxws.cxf.component.camel.apache.org/\";>"
                                                   + "<arg0 
xmlns=\"http://jaxws.cxf.component.camel.apache.org/\";>Hello World!</arg0>"
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSessionTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSessionTest.java
index c52c738834de..54703968a8c1 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSessionTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSessionTest.java
@@ -22,10 +22,10 @@ import java.util.Map;
 import org.apache.camel.BindToRegistry;
 import org.apache.camel.CamelExecutionException;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.http.base.cookie.ExchangeCookieHandler;
 import org.apache.camel.http.base.cookie.InstanceCookieHandler;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.cxf.Bus;
 import org.apache.cxf.BusFactory;
@@ -35,14 +35,17 @@ import 
org.apache.cxf.transport.http_undertow.UndertowHTTPServerEngineFactory;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class CxfProducerSessionTest extends CamelTestSupport {
-    private static final int PORT = CXFTestSupport.getPort1();
-    private static final String SIMPLE_SERVER_ADDRESS = "http://127.0.0.1:"; + 
PORT + "/CxfProducerSessionTest/test";
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
+    private static final String SIMPLE_SERVER_ADDRESS = "http://127.0.0.1:"; + 
PORT.getPort() + "/CxfProducerSessionTest/test";
     private static final String REQUEST_MESSAGE_EXPRESSION
             = "<ns1:echo 
xmlns:ns1=\"http://jaxws.cxf.component.camel.apache.org/\";><arg0>${in.body}</arg0></ns1:echo>";
     private static final Map<String, String> NAMESPACES
@@ -70,7 +73,7 @@ public class CxfProducerSessionTest extends CamelTestSupport {
         // make the Undertow server support sessions
         Bus bus = BusFactory.newInstance().createBus();
         UndertowHTTPServerEngineFactory undertowFactory = 
bus.getExtension(UndertowHTTPServerEngineFactory.class);
-        undertowFactory.createUndertowHTTPServerEngine(PORT, "http");
+        undertowFactory.createUndertowHTTPServerEngine(PORT.getPort(), "http");
         //.setSessionSupport(true);
         svrBean.setBus(bus);
         svrBean.create();
@@ -80,7 +83,7 @@ public class CxfProducerSessionTest extends CamelTestSupport {
     public static void destroyServer() {
         // If we don't destroy this the session support will spill over to 
other
         // tests and they will fail
-        UndertowHTTPServerEngineFactory.destroyForPort(PORT);
+        UndertowHTTPServerEngineFactory.destroyForPort(PORT.getPort());
     }
 
     @Test
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSoapFaultTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSoapFaultTest.java
index f7629b6fc799..5fa8c5077984 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSoapFaultTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSoapFaultTest.java
@@ -25,23 +25,27 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.ProducerTemplate;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.component.cxf.common.message.CxfConstants;
 import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.hello_world_soap_http.BadRecordLitFault;
 import org.apache.hello_world_soap_http.GreeterImpl;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class CxfProducerSoapFaultTest {
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
     private static final String JAXWS_SERVER_ADDRESS
-            = "http://localhost:"; + CXFTestSupport.getPort1() + 
"/CxfProducerSoapFaultTest/test";
+            = "http://localhost:"; + PORT.getPort() + 
"/CxfProducerSoapFaultTest/test";
     private static final String JAXWS_ENDPOINT_URI
             = "cxf://" + JAXWS_SERVER_ADDRESS + 
"?serviceClass=org.apache.hello_world_soap_http.Greeter";
 
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSynchronousFalseTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSynchronousFalseTest.java
index f20746b16add..cf81c3144ec1 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSynchronousFalseTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSynchronousFalseTest.java
@@ -19,19 +19,22 @@ package org.apache.camel.component.cxf.jaxws;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.cxf.BusFactory;
 import org.apache.cxf.frontend.ServerFactoryBean;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class CxfProducerSynchronousFalseTest extends CamelTestSupport {
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
 
-    private static final String SIMPLE_SERVER_ADDRESS = "http://localhost:"; + 
CXFTestSupport.getPort1()
+    private static final String SIMPLE_SERVER_ADDRESS = "http://localhost:"; + 
PORT.getPort()
                                                         + 
"/CxfProducerSynchronousFalseTest/test";
     private static final String REQUEST_MESSAGE = "<soap:Envelope 
xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\";>"
                                                   + "<soap:Body><ns1:echo 
xmlns:ns1=\"http://jaxws.cxf.component.camel.apache.org/\";>"
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSynchronousTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSynchronousTest.java
index 15802a26f5fe..38ff5cc58e96 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSynchronousTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerSynchronousTest.java
@@ -19,20 +19,23 @@ package org.apache.camel.component.cxf.jaxws;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.component.mock.MockEndpoint;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.cxf.BusFactory;
 import org.apache.cxf.frontend.ServerFactoryBean;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class CxfProducerSynchronousTest extends CamelTestSupport {
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
 
     private static final String SIMPLE_SERVER_ADDRESS
-            = "http://localhost:"; + CXFTestSupport.getPort1() + 
"/CxfProducerSynchronousTest/test";
+            = "http://localhost:"; + PORT.getPort() + 
"/CxfProducerSynchronousTest/test";
     private static final String REQUEST_MESSAGE = "<soap:Envelope 
xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\";>"
                                                   + "<soap:Body><ns1:echo 
xmlns:ns1=\"http://jaxws.cxf.component.camel.apache.org/\";>"
                                                   + "<arg0 
xmlns=\"http://jaxws.cxf.component.camel.apache.org/\";>Hello World!</arg0>"
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerTest.java
index ef493a672e02..3e50e7af58e0 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfProducerTest.java
@@ -30,7 +30,6 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.Processor;
 import org.apache.camel.ProducerTemplate;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.component.cxf.common.message.CxfConstants;
 import org.apache.camel.component.cxf.converter.CxfPayloadConverter;
 import org.apache.camel.converter.jaxp.XmlConverter;
@@ -45,6 +44,7 @@ import org.apache.hello_world_soap_http.GreeterImpl;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -54,6 +54,11 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class CxfProducerTest {
+    @RegisterExtension
+    final AvailablePortFinder.Port simplePort = AvailablePortFinder.find();
+    @RegisterExtension
+    final AvailablePortFinder.Port jaxWsPort = AvailablePortFinder.find();
+
     protected static final String ECHO_OPERATION = "echo";
     protected static final String GREET_ME_OPERATION = "greetMe";
     protected static final String TEST_MESSAGE = "Hello World!";
@@ -66,11 +71,11 @@ public class CxfProducerTest {
     protected Endpoint endpoint;
 
     protected String getSimpleServerAddress() {
-        return "http://localhost:"; + CXFTestSupport.getPort1() + "/" + 
getClass().getSimpleName() + "/test";
+        return "http://localhost:"; + simplePort.getPort() + "/" + 
getClass().getSimpleName() + "/test";
     }
 
     protected String getJaxWsServerAddress() {
-        return "http://localhost:"; + CXFTestSupport.getPort2() + "/" + 
getClass().getSimpleName() + "/test";
+        return "http://localhost:"; + jaxWsPort.getPort() + "/" + 
getClass().getSimpleName() + "/test";
     }
 
     // Keep port reference to prevent reuse — this address must have nothing 
listening on it
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfSchemaValidationTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfSchemaValidationTest.java
index fb738efb4ece..88eaffdd5aab 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfSchemaValidationTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfSchemaValidationTest.java
@@ -26,7 +26,7 @@ import javax.xml.namespace.QName;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.camel.wsdl_first.Person;
 import org.apache.camel.wsdl_first.PersonService;
@@ -37,6 +37,7 @@ import org.apache.cxf.ext.logging.LoggingOutInterceptor;
 import org.apache.cxf.frontend.ClientProxy;
 import org.junit.jupiter.api.Assumptions;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -45,16 +46,20 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 class CxfSchemaValidationTest extends CamelTestSupport {
+    @RegisterExtension
+    final AvailablePortFinder.Port port1 = AvailablePortFinder.find();
+    @RegisterExtension
+    final AvailablePortFinder.Port port2 = AvailablePortFinder.find();
 
     protected static final String PORT_NAME_PROP = 
"portName={http://camel.apache.org/wsdl-first}soap";;
     protected static final String SERVICE_NAME = 
"{http://camel.apache.org/wsdl-first}PersonService";;
     protected static final String SERVICE_NAME_PROP = "serviceName=" + 
SERVICE_NAME;
     protected static final String WSDL_URL_PROP = 
"wsdlURL=classpath:person.wsdl";
 
-    protected final String serviceAddressValidationEnabled = 
"http://localhost:"; + CXFTestSupport.getPort1()
+    protected final String serviceAddressValidationEnabled = 
"http://localhost:"; + port1.getPort()
                                                              + "/" + 
getClass().getSimpleName() + "/PersonService";
 
-    protected final String serviceAddressValidationDisabled = 
"http://localhost:"; + CXFTestSupport.getPort2()
+    protected final String serviceAddressValidationDisabled = 
"http://localhost:"; + port2.getPort()
                                                               + "/" + 
getClass().getSimpleName() + "/PersonService";
 
     protected final String cxfServerUriValidationEnabled = "cxf://" + 
serviceAddressValidationEnabled + "?"
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfSimpleRouterTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfSimpleRouterTest.java
index 66f13dd69bdc..b86802657c1a 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfSimpleRouterTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/CxfSimpleRouterTest.java
@@ -18,8 +18,8 @@ package org.apache.camel.component.cxf.jaxws;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.cxf.endpoint.Server;
 import org.apache.cxf.frontend.ClientFactoryBean;
@@ -28,11 +28,17 @@ import org.apache.cxf.frontend.ServerFactoryBean;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class CxfSimpleRouterTest extends CamelTestSupport {
 
+    @RegisterExtension
+    final AvailablePortFinder.Port routerPort = AvailablePortFinder.find();
+    @RegisterExtension
+    final AvailablePortFinder.Port servicePort = AvailablePortFinder.find();
+
     protected static final String SERVICE_CLASS = 
"serviceClass=org.apache.camel.component.cxf.jaxws.HelloService";
 
     protected Server server;
@@ -40,11 +46,11 @@ public class CxfSimpleRouterTest extends CamelTestSupport {
     private String serviceEndpointURI = "cxf://" + getServiceAddress() + "?" + 
SERVICE_CLASS + "&dataFormat=POJO";
 
     protected String getRouterAddress() {
-        return "http://localhost:"; + CXFTestSupport.getPort1() + "/" + 
getClass().getSimpleName() + "/router";
+        return "http://localhost:"; + routerPort.getPort() + "/" + 
getClass().getSimpleName() + "/router";
     }
 
     protected String getServiceAddress() {
-        return "http://localhost:"; + CXFTestSupport.getPort2() + "/" + 
getClass().getSimpleName() + "/helloworld";
+        return "http://localhost:"; + servicePort.getPort() + "/" + 
getClass().getSimpleName() + "/helloworld";
     }
 
     protected void configureFactory(ServerFactoryBean svrBean) {
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/FailOverFeatureTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/FailOverFeatureTest.java
index 0f646a9f7f59..66aa370d936c 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/FailOverFeatureTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/FailOverFeatureTest.java
@@ -20,7 +20,6 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.test.AvailablePortFinder;
 import org.apache.cxf.clustering.FailoverFeature;
@@ -38,16 +37,23 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class FailOverFeatureTest {
 
-    private static int port1 = CXFTestSupport.getPort1();
-    private static int port2 = CXFTestSupport.getPort2();
-    private static int port3 = CXFTestSupport.getPort3();
     @RegisterExtension
-    static AvailablePortFinder.Port port4 = AvailablePortFinder.find();
-
-    private static final String SERVICE_ADDRESS = "http://localhost:"; + port1 
+ "/FailOverFeatureTest";
-    private static final String PAYLOAD_PROXY_ADDRESS = "http://localhost:"; + 
port2 + "/FailOverFeatureTest/proxy";
-    private static final String POJO_PROXY_ADDRESS = "http://localhost:"; + 
port3 + "/FailOverFeatureTest/proxy";
-    private static final String NONE_EXIST_ADDRESS = "http://localhost:"; + 
port4.getPort() + "/FailOverFeatureTest";
+    static final AvailablePortFinder.Port SERVICE_PORT = 
AvailablePortFinder.find();
+    @RegisterExtension
+    static final AvailablePortFinder.Port PAYLOAD_PROXY_PORT = 
AvailablePortFinder.find();
+    @RegisterExtension
+    static final AvailablePortFinder.Port POJO_PROXY_PORT = 
AvailablePortFinder.find();
+    @RegisterExtension
+    static final AvailablePortFinder.Port NONE_EXIST_PORT = 
AvailablePortFinder.find();
+
+    private static final String SERVICE_ADDRESS
+            = "http://localhost:"; + SERVICE_PORT.getPort() + 
"/FailOverFeatureTest";
+    private static final String PAYLOAD_PROXY_ADDRESS
+            = "http://localhost:"; + PAYLOAD_PROXY_PORT.getPort() + 
"/FailOverFeatureTest/proxy";
+    private static final String POJO_PROXY_ADDRESS
+            = "http://localhost:"; + POJO_PROXY_PORT.getPort() + 
"/FailOverFeatureTest/proxy";
+    private static final String NONE_EXIST_ADDRESS
+            = "http://localhost:"; + NONE_EXIST_PORT.getPort() + 
"/FailOverFeatureTest";
     private static Server server;
     private DefaultCamelContext context1;
     private DefaultCamelContext context2;
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/JaxWsWebFaultAnnotationToFaultTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/JaxWsWebFaultAnnotationToFaultTest.java
index 9565f8335790..f727b2ea53fc 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/JaxWsWebFaultAnnotationToFaultTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/JaxWsWebFaultAnnotationToFaultTest.java
@@ -19,13 +19,14 @@ package org.apache.camel.component.cxf.jaxws;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.cxf.frontend.ClientFactoryBean;
 import org.apache.cxf.greeter_control.Greeter;
 import org.apache.cxf.greeter_control.PingMeFault;
 import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -36,7 +37,10 @@ import static org.junit.jupiter.api.Assertions.fail;
  * Test for throwing an exception with a JAX-WS WebFault annotation from Camel 
CXF consumer
  */
 public class JaxWsWebFaultAnnotationToFaultTest extends CamelTestSupport {
-    protected static final String ROUTER_ADDRESS = "http://localhost:"; + 
CXFTestSupport.getPort1()
+    @RegisterExtension
+    static final AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+
+    protected static final String ROUTER_ADDRESS = "http://localhost:"; + 
PORT.getPort()
                                                    + 
"/JaxWsWebFaultAnnotationToFaultTest/router";
     protected static final String SERVICE_CLASS = 
"serviceClass=org.apache.cxf.greeter_control.Greeter";
     protected static final String SERVICE_URI = "cxf://" + ROUTER_ADDRESS + 
"?" + SERVICE_CLASS;
diff --git 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/LoadDistributorFeatureTest.java
 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/LoadDistributorFeatureTest.java
index 1e3ddfeb69f6..60540efdaa78 100644
--- 
a/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/LoadDistributorFeatureTest.java
+++ 
b/components/camel-cxf/camel-cxf-soap/src/test/java/org/apache/camel/component/cxf/jaxws/LoadDistributorFeatureTest.java
@@ -20,27 +20,34 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.cxf.common.CXFTestSupport;
 import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.test.AvailablePortFinder;
 import org.apache.cxf.clustering.LoadDistributorFeature;
 import org.apache.cxf.clustering.SequentialStrategy;
 import org.apache.cxf.frontend.ClientProxyFactoryBean;
 import org.apache.cxf.frontend.ServerFactoryBean;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class LoadDistributorFeatureTest {
-
-    private static int port1 = CXFTestSupport.getPort1();
-    private static int port2 = CXFTestSupport.getPort2();
-    private static int port3 = CXFTestSupport.getPort3();
-
-    private static final String SERVICE_ADDRESS_1 = "http://localhost:"; + 
port1 + "/LoadDistributorFeatureTest/service1";
-    private static final String SERVICE_ADDRESS_2 = "http://localhost:"; + 
port1 + "/LoadDistributorFeatureTest/service2";
-    private static final String PAYLOAD_PROXY_ADDRESS = "http://localhost:"; + 
port2 + "/LoadDistributorFeatureTest/proxy";
-    private static final String POJO_PROXY_ADDRESS = "http://localhost:"; + 
port3 + "/LoadDistributorFeatureTest/proxy";
+    @RegisterExtension
+    static final AvailablePortFinder.Port SERVICE_PORT = 
AvailablePortFinder.find();
+    @RegisterExtension
+    static final AvailablePortFinder.Port PAYLOAD_PROXY_PORT = 
AvailablePortFinder.find();
+    @RegisterExtension
+    static final AvailablePortFinder.Port POJO_PROXY_PORT = 
AvailablePortFinder.find();
+
+    private static final String SERVICE_ADDRESS_1
+            = "http://localhost:"; + SERVICE_PORT.getPort() + 
"/LoadDistributorFeatureTest/service1";
+    private static final String SERVICE_ADDRESS_2
+            = "http://localhost:"; + SERVICE_PORT.getPort() + 
"/LoadDistributorFeatureTest/service2";
+    private static final String PAYLOAD_PROXY_ADDRESS
+            = "http://localhost:"; + PAYLOAD_PROXY_PORT.getPort() + 
"/LoadDistributorFeatureTest/proxy";
+    private static final String POJO_PROXY_ADDRESS
+            = "http://localhost:"; + POJO_PROXY_PORT.getPort() + 
"/LoadDistributorFeatureTest/proxy";
 
     private DefaultCamelContext context1;
     private DefaultCamelContext context2;

Reply via email to