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

gnodet pushed a commit to branch CAMEL-23214-port-http-servers
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 507734e8d1e042817178497a2e26a05b46054362
Author: Guillaume Nodet <[email protected]>
AuthorDate: Fri Mar 20 05:23:18 2026 +0100

    CAMEL-23214: Migrate AvailablePortFinder in camel-platform-http, 
camel-jetty, camel-coap, camel-undertow tests
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
---
 .../java/org/apache/camel/coap/CoAPCORSTest.java   |   2 +-
 .../camel/coap/CoAPComponentTLSTestBase.java       |  72 ++++++++-----
 .../org/apache/camel/coap/CoAPComponentTest.java   |   8 +-
 .../camel/coap/CoAPRestComponentTestBase.java      |  16 +--
 .../apache/camel/coap/CoAPRestContextPathTest.java |   2 +-
 .../org/apache/camel/coap/CoAPRestVerbTest.java    |   2 +-
 .../org/apache/camel/coap/CoAPTestSupport.java     |   6 +-
 .../jetty/JettyBridgeHostHeaderIssueTest.java      |  58 ++++++-----
 .../jetty/JettyFailoverRoundRobinTest.java         |  34 +++---
 .../component/jetty/JettyValidatorStreamTest.java  |  10 +-
 ...alidatorStreamWithStreamCachingEnabledTest.java |  10 +-
 .../camel/component/jetty/JettyValidatorTest.java  |  12 +--
 .../component/jetty/JettyXsltHttpTemplateTest.java |  10 +-
 .../camel/component/jetty/JettyXsltTest.java       |  10 +-
 .../jetty/SpringFailoverRoundRobinTest.java        |  28 ++---
 .../jetty/rest/RestJettyRedirectTest.java          |  12 ++-
 .../http/main/MainHttpServerRouteTest.java         |   8 +-
 .../http/main/ManagementHttpServerTest.java        |   8 +-
 .../RestOpenApiCodeFirstOnExceptionIssueTest.java  |   8 +-
 ...stOpenApiContractFirstOnExceptionIssueTest.java |   8 +-
 .../vertx/VertxPlatformHttpAuthenticationTest.java |   8 +-
 .../http/vertx/VertxPlatformHttpCookieTest.java    |  10 +-
 .../http/vertx/VertxPlatformHttpEngineTest.java    | 115 +++++++++++----------
 .../vertx/VertxPlatformHttpNoBodyHandlerTest.java  |   8 +-
 .../vertx/VertxPlatformHttpPooledExchangeTest.java |  12 ++-
 .../http/vertx/VertxPlatformHttpProxyTest.java     |   8 +-
 .../http/vertx/VertxPlatformHttpSessionTest.java   |  15 +--
 .../vertx/VertxPlatformHttpSharedVertxTest.java    |   6 +-
 .../http/vertx/VertxPlatformHttpsProxyTest.java    |  19 ++--
 .../VertxPlatformMultipleContentTypeTest.java      |  13 ++-
 .../camel/component/undertow/BaseUndertowTest.java |  30 +++---
 .../undertow/UndertowHttpProducerSessionTest.java  |  12 +--
 .../undertow/UndertowMethodRestricTest.java        |   8 +-
 33 files changed, 327 insertions(+), 261 deletions(-)

diff --git 
a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPCORSTest.java 
b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPCORSTest.java
index 38a3dfa8670c..c02facda7f6c 100644
--- 
a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPCORSTest.java
+++ 
b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPCORSTest.java
@@ -43,7 +43,7 @@ public class CoAPCORSTest extends CoAPTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
-                
restConfiguration().component("coap").port(PORT).enableCORS(true);
+                
restConfiguration().component("coap").port(PORT.getPort()).enableCORS(true);
 
                 rest().get("/rest").to("direct:rest");
                 from("direct:rest").setBody(constant(COAP_RESPONSE));
diff --git 
a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPComponentTLSTestBase.java
 
b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPComponentTLSTestBase.java
index f7479a21747b..17de5e952920 100644
--- 
a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPComponentTLSTestBase.java
+++ 
b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPComponentTLSTestBase.java
@@ -45,19 +45,28 @@ import 
org.eclipse.californium.scandium.dtls.x509.NewAdvancedCertificateVerifier
 import 
org.eclipse.californium.scandium.dtls.x509.StaticNewAdvancedCertificateVerifier;
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.ValueSource;
 
 abstract class CoAPComponentTLSTestBase extends CamelTestSupport {
 
-    private static final int PORT = AvailablePortFinder.getNextAvailable();
-    private static final int PORT2 = AvailablePortFinder.getNextAvailable();
-    private static final int PORT3 = AvailablePortFinder.getNextAvailable();
-    private static final int PORT4 = AvailablePortFinder.getNextAvailable();
-    private static final int PORT5 = AvailablePortFinder.getNextAvailable();
-    private static final int PORT6 = AvailablePortFinder.getNextAvailable();
-    private static final int PORT7 = AvailablePortFinder.getNextAvailable();
-    private static final int PORT8 = AvailablePortFinder.getNextAvailable();
+    @RegisterExtension
+    static AvailablePortFinder.Port PORT = AvailablePortFinder.find();
+    @RegisterExtension
+    static AvailablePortFinder.Port PORT2 = AvailablePortFinder.find();
+    @RegisterExtension
+    static AvailablePortFinder.Port PORT3 = AvailablePortFinder.find();
+    @RegisterExtension
+    static AvailablePortFinder.Port PORT4 = AvailablePortFinder.find();
+    @RegisterExtension
+    static AvailablePortFinder.Port PORT5 = AvailablePortFinder.find();
+    @RegisterExtension
+    static AvailablePortFinder.Port PORT6 = AvailablePortFinder.find();
+    @RegisterExtension
+    static AvailablePortFinder.Port PORT7 = AvailablePortFinder.find();
+    @RegisterExtension
+    static AvailablePortFinder.Port PORT8 = AvailablePortFinder.find();
 
     @ParameterizedTest
     @ValueSource(strings = { "direct:start", "direct:selfsigned", 
/*"direct:clientauth",*/ "direct:ciphersuites" })
@@ -200,68 +209,74 @@ abstract class CoAPComponentTLSTestBase extends 
CamelTestSupport {
             @Override
             public void configure() {
 
-                fromF(getProtocol() + 
"://localhost:%d/TestResource?sslContextParameters=#serviceSSLContextParameters",
 PORT)
+                fromF(getProtocol() + 
"://localhost:%d/TestResource?sslContextParameters=#serviceSSLContextParameters",
+                        PORT.getPort())
                         .transform(body().prepend("Hello "));
 
                 fromF(getProtocol()
                       + 
"://localhost:%d/TestResource?alias=selfsigned&sslContextParameters=#selfSignedServiceSSLContextParameters",
-                        PORT2)
+                        PORT2.getPort())
                         .transform(body().prepend("Hello "));
 
                 fromF(getProtocol()
                       + 
"://localhost:%d/TestResource?sslContextParameters=#serviceSSLContextParameters&cipherSuites=TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8",
-                        PORT4)
+                        PORT4.getPort())
                         .transform(body().prepend("Hello "));
 
                 from("direct:start")
                         .toF(getProtocol() + 
"://localhost:%d/TestResource?sslContextParameters=#clientSSLContextParameters",
-                                PORT)
+                                PORT.getPort())
                         .to("mock:result");
 
-                from("direct:notruststore").toF(getProtocol() + 
"://localhost:%d/TestResource", PORT).to("mock:result");
+                from("direct:notruststore").toF(getProtocol() + 
"://localhost:%d/TestResource", PORT.getPort())
+                        .to("mock:result");
 
                 from("direct:failedtrust")
                         .toF(getProtocol() + 
"://localhost:%d/TestResource?sslContextParameters=#clientSSLContextParameters2",
-                                PORT)
+                                PORT.getPort())
                         .to("mock:result");
 
                 from("direct:selfsigned")
                         .toF(getProtocol()
-                             + 
"://localhost:%d/TestResource?sslContextParameters=#selfSignedClientSSLContextParameters",
 PORT2)
+                             + 
"://localhost:%d/TestResource?sslContextParameters=#selfSignedClientSSLContextParameters",
+                                PORT2.getPort())
                         .to("mock:result");
 
                 from("direct:clientauth")
                         .toF(getProtocol()
-                             + 
"://localhost:%d/TestResource?sslContextParameters=#clientAuthClientSSLContextParameters",
 PORT3)
+                             + 
"://localhost:%d/TestResource?sslContextParameters=#clientAuthClientSSLContextParameters",
+                                PORT3.getPort())
                         .to("mock:result");
 
                 from("direct:failedclientauth")
                         .toF(getProtocol()
                              + 
"://localhost:%d/TestResource?sslContextParameters=#clientAuthClientSSLContextParameters2",
-                                PORT3)
+                                PORT3.getPort())
                         .to("mock:result");
 
                 from("direct:ciphersuites")
                         .toF(getProtocol()
                              + 
"://localhost:%d/TestResource?sslContextParameters=#clientSSLContextParameters&cipherSuites=TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8",
-                                PORT4)
+                                PORT4.getPort())
                         .to("mock:result");
 
                 if (isRPKSupported()) {
-                    fromF(getProtocol() + 
"://localhost:%d/TestResource?privateKey=#privateKey&publicKey=#publicKey", 
PORT5)
+                    fromF(getProtocol() + 
"://localhost:%d/TestResource?privateKey=#privateKey&publicKey=#publicKey",
+                            PORT5.getPort())
                             .transform(body().prepend("Hello "));
 
                     fromF(getProtocol()
                           + 
"://localhost:%d/TestResource?privateKey=#privateKey&publicKey=#publicKey&clientAuthentication=NEEDED&advancedCertificateVerifier=#advancedCertificateVerifier",
-                            PORT6).transform(body().prepend("Hello "));
+                            PORT6.getPort()).transform(body().prepend("Hello 
"));
 
                     from("direct:rpk")
                             .toF(getProtocol()
                                  + 
"://localhost:%d/TestResource?advancedCertificateVerifier=#advancedCertificateVerifier",
-                                    PORT5)
+                                    PORT5.getPort())
                             .to("mock:result");
 
-                    from("direct:rpknotruststore").toF(getProtocol() + 
"://localhost:%d/TestResource", PORT5).to("mock:result");
+                    from("direct:rpknotruststore").toF(getProtocol() + 
"://localhost:%d/TestResource", PORT5.getPort())
+                            .to("mock:result");
 
                     //                    from("direct:rpkfailedtrust")
                     //                            .toF(getProtocol()
@@ -272,33 +287,34 @@ abstract class CoAPComponentTLSTestBase extends 
CamelTestSupport {
                     from("direct:rpkclientauth")
                             .toF(getProtocol()
                                  + 
"://localhost:%d/TestResource?advancedCertificateVerifier=#advancedCertificateVerifier&privateKey=#privateKey&publicKey=#publicKey",
-                                    PORT6)
+                                    PORT6.getPort())
                             .to("mock:result");
                 }
 
                 if (isPSKSupported()) {
-                    fromF(getProtocol() + 
"://localhost:%d/TestResource?advancedPskStore=#advancedPskStore", PORT7)
+                    fromF(getProtocol() + 
"://localhost:%d/TestResource?advancedPskStore=#advancedPskStore", 
PORT7.getPort())
                             .transform(body().prepend("Hello "));
 
                     fromF(getProtocol()
                           + 
"://localhost:%d/TestResource?sslContextParameters=#serviceSSLContextParameters&advancedPskStore=#advancedPskStore",
-                            PORT8)
+                            PORT8.getPort())
                             .transform(body().prepend("Hello "));
 
                     from("direct:psk")
-                            .toF(getProtocol() + 
"://localhost:%d/TestResource?advancedPskStore=#advancedPskStore", PORT7)
+                            .toF(getProtocol() + 
"://localhost:%d/TestResource?advancedPskStore=#advancedPskStore",
+                                    PORT7.getPort())
                             .to("mock:result");
 
                     from("direct:pskciphersuite")
                             .toF(getProtocol()
                                  + 
"://localhost:%d/TestResource?advancedPskStore=#advancedPskStore&cipherSuites=TLS_PSK_WITH_AES_128_GCM_SHA256",
-                                    PORT7)
+                                    PORT7.getPort())
                             .to("mock:result");
 
                     from("direct:pskx509")
                             .toF(getProtocol()
                                  + 
"://localhost:%d/TestResource?advancedPskStore=#advancedPskStore&sslContextParameters=#clientSSLContextParameters",
-                                    PORT8)
+                                    PORT8.getPort())
                             .to("mock:result");
                 }
 
diff --git 
a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPComponentTest.java
 
b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPComponentTest.java
index 7e1c268a5643..275395d13fe7 100644
--- 
a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPComponentTest.java
+++ 
b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPComponentTest.java
@@ -26,12 +26,14 @@ import org.eclipse.californium.core.CoapResponse;
 import org.eclipse.californium.core.coap.CoAP;
 import org.eclipse.californium.core.coap.MediaTypeRegistry;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class CoAPComponentTest extends CoAPTestSupport {
 
-    protected static final int TCP_PORT = 
AvailablePortFinder.getNextAvailable();
+    @RegisterExtension
+    static AvailablePortFinder.Port TCP_PORT = AvailablePortFinder.find();
 
     @Produce("direct:start")
     protected ProducerTemplate sender;
@@ -74,12 +76,12 @@ public class CoAPComponentTest extends CoAPTestSupport {
             public void configure() {
                 fromF("coap://localhost:%d/TestResource", 
PORT).convertBodyTo(String.class).transform(body().prepend("Hello "));
 
-                fromF("coap+tcp://localhost:%d/TestResource", 
TCP_PORT).convertBodyTo(String.class)
+                fromF("coap+tcp://localhost:%d/TestResource", 
TCP_PORT.getPort()).convertBodyTo(String.class)
                         .transform(body().prepend("Hello "));
 
                 from("direct:start").toF("coap://localhost:%d/TestResource", 
PORT).to("mock:result");
 
-                
from("direct:starttcp").toF("coap+tcp://localhost:%d/TestResource", 
TCP_PORT).to("mock:result");
+                
from("direct:starttcp").toF("coap+tcp://localhost:%d/TestResource", 
TCP_PORT.getPort()).to("mock:result");
             }
         };
     }
diff --git 
a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestComponentTestBase.java
 
b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestComponentTestBase.java
index c0748812a51a..8e2b22c3b968 100644
--- 
a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestComponentTestBase.java
+++ 
b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestComponentTestBase.java
@@ -33,11 +33,13 @@ import org.eclipse.californium.core.coap.CoAP.ResponseCode;
 import org.eclipse.californium.core.coap.MediaTypeRegistry;
 import org.eclipse.californium.elements.config.Configuration;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 abstract class CoAPRestComponentTestBase extends CamelTestSupport {
-    static int coapport = AvailablePortFinder.getNextAvailable();
+    @RegisterExtension
+    static AvailablePortFinder.Port coapport = AvailablePortFinder.find();
 
     @Produce("direct:start")
     protected ProducerTemplate sender;
@@ -48,7 +50,7 @@ abstract class CoAPRestComponentTestBase extends 
CamelTestSupport {
         CoapClient client;
         CoapResponse rsp;
 
-        client = new CoapClient(getProtocol() + "://localhost:" + coapport + 
"/TestResource/Ducky");
+        client = new CoapClient(getProtocol() + "://localhost:" + 
coapport.getPort() + "/TestResource/Ducky");
         decorateClient(client);
         rsp = client.get();
         assertEquals(ResponseCode.CONTENT, rsp.getCode());
@@ -57,7 +59,7 @@ abstract class CoAPRestComponentTestBase extends 
CamelTestSupport {
         assertEquals(ResponseCode.CONTENT, rsp.getCode());
         assertEquals("Hello Ducky: data", rsp.getResponseText());
 
-        client = new CoapClient(getProtocol() + "://localhost:" + coapport + 
"/TestParams?id=Ducky");
+        client = new CoapClient(getProtocol() + "://localhost:" + 
coapport.getPort() + "/TestParams?id=Ducky");
         decorateClient(client);
         client.setTimeout(1000000L);
         rsp = client.get();
@@ -72,7 +74,7 @@ abstract class CoAPRestComponentTestBase extends 
CamelTestSupport {
     @Test
     void testCoAPMethodNotAllowedResponse() throws Exception {
         Configuration.createStandardWithoutFile();
-        CoapClient client = new CoapClient(getProtocol() + "://localhost:" + 
coapport + "/TestResource/Ducky");
+        CoapClient client = new CoapClient(getProtocol() + "://localhost:" + 
coapport.getPort() + "/TestResource/Ducky");
         decorateClient(client);
         client.setTimeout(1000000L);
         CoapResponse rsp = client.delete();
@@ -82,7 +84,7 @@ abstract class CoAPRestComponentTestBase extends 
CamelTestSupport {
     @Test
     void testCoAPNotFoundResponse() throws Exception {
         Configuration.createStandardWithoutFile();
-        CoapClient client = new CoapClient(getProtocol() + "://localhost:" + 
coapport + "/foo/bar/cheese");
+        CoapClient client = new CoapClient(getProtocol() + "://localhost:" + 
coapport.getPort() + "/foo/bar/cheese");
         decorateClient(client);
         client.setTimeout(1000000L);
         CoapResponse rsp = client.get();
@@ -125,7 +127,7 @@ abstract class CoAPRestComponentTestBase extends 
CamelTestSupport {
             @Override
             public void configure() {
                 RestConfigurationDefinition restConfig
-                        = 
restConfiguration().scheme(getProtocol()).host("localhost").port(coapport);
+                        = 
restConfiguration().scheme(getProtocol()).host("localhost").port(coapport.getPort());
                 decorateRestConfiguration(restConfig);
 
                 
rest("/TestParams").get().to("direct:get1").post().to("direct:post1");
@@ -144,7 +146,7 @@ abstract class CoAPRestComponentTestBase extends 
CamelTestSupport {
                     
exchange.getMessage().setHeader(CoAPConstants.CONTENT_TYPE, ct);
                 });
 
-                from("direct:start").toF(getClientURI(), 
coapport).to("mock:result");
+                from("direct:start").toF(getClientURI(), 
coapport.getPort()).to("mock:result");
             }
         };
     }
diff --git 
a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestContextPathTest.java
 
b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestContextPathTest.java
index 6ec9633a2e0e..c8e8071fa7bd 100644
--- 
a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestContextPathTest.java
+++ 
b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestContextPathTest.java
@@ -39,7 +39,7 @@ public class CoAPRestContextPathTest extends CoAPTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
-                
restConfiguration().host("localhost").port(PORT).contextPath("/rest/services");
+                
restConfiguration().host("localhost").port(PORT.getPort()).contextPath("/rest/services");
 
                 rest("/test").get("/a").to("direct:a");
                 from("direct:a").setBody(constant("GET: /test/a"));
diff --git 
a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestVerbTest.java
 
b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestVerbTest.java
index 9656ce5dd419..0de80b3fe08d 100644
--- 
a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestVerbTest.java
+++ 
b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPRestVerbTest.java
@@ -84,7 +84,7 @@ public class CoAPRestVerbTest extends CoAPTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
-                
restConfiguration().component("coap").host("localhost").port(PORT);
+                
restConfiguration().component("coap").host("localhost").port(PORT.getPort());
 
                 rest()
                         .get("/users").to("direct:users")
diff --git 
a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPTestSupport.java
 
b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPTestSupport.java
index bf7a692e1c99..3862c91976c6 100644
--- 
a/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPTestSupport.java
+++ 
b/components/camel-coap/src/test/java/org/apache/camel/coap/CoAPTestSupport.java
@@ -21,10 +21,12 @@ import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.camel.util.FileUtil;
 import org.eclipse.californium.core.CoapClient;
 import org.eclipse.californium.elements.config.Configuration;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 public class CoAPTestSupport extends CamelTestSupport {
 
-    protected static final int PORT = AvailablePortFinder.getNextAvailable();
+    @RegisterExtension
+    static AvailablePortFinder.Port PORT = AvailablePortFinder.find();
 
     @Override
     public void doPostSetup() {
@@ -32,7 +34,7 @@ public class CoAPTestSupport extends CamelTestSupport {
     }
 
     protected CoapClient createClient(String path) {
-        return createClient(path, PORT);
+        return createClient(path, PORT.getPort());
     }
 
     protected CoapClient createClient(String path, int port) {
diff --git 
a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyBridgeHostHeaderIssueTest.java
 
b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyBridgeHostHeaderIssueTest.java
index 958552c9e71f..226e8f32f966 100644
--- 
a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyBridgeHostHeaderIssueTest.java
+++ 
b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyBridgeHostHeaderIssueTest.java
@@ -21,17 +21,23 @@ import org.apache.camel.builder.RouteBuilder;
 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.assertNotNull;
 
 public class JettyBridgeHostHeaderIssueTest extends CamelTestSupport {
 
-    private int port;
-    private int port2;
-    private int port3;
-    private int port4;
-    private int port5;
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
+    @RegisterExtension
+    AvailablePortFinder.Port port2 = AvailablePortFinder.find();
+    @RegisterExtension
+    AvailablePortFinder.Port port3 = AvailablePortFinder.find();
+    @RegisterExtension
+    AvailablePortFinder.Port port4 = AvailablePortFinder.find();
+    @RegisterExtension
+    AvailablePortFinder.Port port5 = AvailablePortFinder.find();
     private String receivedHostHeaderEndpoint1;
     private String receivedHostHeaderEndpoint2;
     private String receivedHostHeaderEndpoint3;
@@ -45,75 +51,71 @@ public class JettyBridgeHostHeaderIssueTest extends 
CamelTestSupport {
         //The first call to our service will hit the first destination in the 
round robin load balancer
         //this destination has the preserveProxyHeader parameter set to true, 
so we verify the Host header
         //received by our downstream instance matches the address and port of 
the proxied service
-        Exchange reply = template.request("http:localhost:" + port + "/myapp",
+        Exchange reply = template.request("http:localhost:" + port.getPort() + 
"/myapp",
                 exchange -> exchange.getIn().setBody("Hello World"));
         assertNotNull(reply);
         assertEquals("foo", reply.getMessage().getBody(String.class));
         //assert the received Host header is localhost:port (where port 
matches the /myapp port)
-        assertEquals("localhost:" + port, receivedHostHeaderEndpoint1);
+        assertEquals("localhost:" + port.getPort(), 
receivedHostHeaderEndpoint1);
 
         //The second call to our service will hit the second destination in 
the round robin load balancer
         //this destination does not have the preserveProxyHeader, so we expect 
the Host header received by the destination
         //to match the url of the destination service itself
-        Exchange reply2 = template.request("http:localhost:" + port + "/myapp",
+        Exchange reply2 = template.request("http:localhost:" + port.getPort() 
+ "/myapp",
                 exchange -> exchange.getIn().setBody("Bye World"));
         assertNotNull(reply2);
         assertEquals("bar", reply2.getMessage().getBody(String.class));
         //assert the received Host header is localhost:port3 (where port3 
matches the /bar destination server)
-        assertEquals("localhost:" + port3, receivedHostHeaderEndpoint2);
+        assertEquals("localhost:" + port3.getPort(), 
receivedHostHeaderEndpoint2);
 
         //The next two calls will use/test the jetty producers in the round 
robin load balancer
 
         //The first has the preserveHostHeader option set to true, so we would 
expect to receive a Host header matching the /myapp proxied service
-        Exchange reply3 = template.request("http:localhost:" + port + "/myapp",
+        Exchange reply3 = template.request("http:localhost:" + port.getPort() 
+ "/myapp",
                 exchange -> exchange.getIn().setBody("Bye JWorld"));
         assertNotNull(reply3);
         assertEquals("jbar", reply3.getMessage().getBody(String.class));
         //assert the received Host header is localhost:port (where port 
matches the /myapp destination server)
-        assertEquals("localhost:" + port, receivedHostHeaderEndpoint3);
+        assertEquals("localhost:" + port.getPort(), 
receivedHostHeaderEndpoint3);
 
         //The second does not have a preserveHostHeader 
(preserveHostHeader=false), we would expect to see a Host header matching the 
destination service
-        Exchange reply4 = template.request("http:localhost:" + port + "/myapp",
+        Exchange reply4 = template.request("http:localhost:" + port.getPort() 
+ "/myapp",
                 exchange -> exchange.getIn().setBody("JAVA!!!!"));
         assertNotNull(reply4);
         assertEquals("java???", reply4.getMessage().getBody(String.class));
         //assert the received Host header is localhost:port5 (where port3 
matches the /jbarf destination server)
-        assertEquals("localhost:" + port5, receivedHostHeaderEndpoint4);
+        assertEquals("localhost:" + port5.getPort(), 
receivedHostHeaderEndpoint4);
     }
 
     @Override
     protected RouteBuilder createRouteBuilder() {
-        port = AvailablePortFinder.getNextAvailable();
-        port2 = AvailablePortFinder.getNextAvailable();
-        port3 = AvailablePortFinder.getNextAvailable();
-        port4 = AvailablePortFinder.getNextAvailable();
-        port5 = AvailablePortFinder.getNextAvailable();
-
         return new RouteBuilder() {
             @Override
             public void configure() {
-                from("jetty:http://localhost:"; + port + 
"/myapp?matchOnUriPrefix=true")
+                from("jetty:http://localhost:"; + port.getPort() + 
"/myapp?matchOnUriPrefix=true")
                         .loadBalance().roundRobin()
-                        .to("http://localhost:"; + port2
+                        .to("http://localhost:"; + port2.getPort()
                             + 
"/foo?bridgeEndpoint=true&throwExceptionOnFailure=false&preserveHostHeader=true")
-                        .to("http://localhost:"; + port3 + 
"/bar?bridgeEndpoint=true&throwExceptionOnFailure=false")
-                        .to("http://localhost:"; + port4
+                        .to("http://localhost:"; + port3.getPort()
+                            + 
"/bar?bridgeEndpoint=true&throwExceptionOnFailure=false")
+                        .to("http://localhost:"; + port4.getPort()
                             + 
"/jbar?bridgeEndpoint=true&throwExceptionOnFailure=false&preserveHostHeader=true")
-                        .to("http://localhost:"; + port5 + 
"/jbarf?bridgeEndpoint=true&throwExceptionOnFailure=false");
+                        .to("http://localhost:"; + port5.getPort()
+                            + 
"/jbarf?bridgeEndpoint=true&throwExceptionOnFailure=false");
 
-                from("jetty:http://localhost:"; + port2 + "/foo")
+                from("jetty:http://localhost:"; + port2.getPort() + "/foo")
                         .process(exchange -> receivedHostHeaderEndpoint1 = 
exchange.getIn().getHeader("Host", String.class))
                         .transform().constant("foo");
 
-                from("jetty:http://localhost:"; + port3 + "/bar")
+                from("jetty:http://localhost:"; + port3.getPort() + "/bar")
                         .process(exchange -> receivedHostHeaderEndpoint2 = 
exchange.getIn().getHeader("Host", String.class))
                         .transform().constant("bar");
 
-                from("jetty:http://localhost:"; + port4 + "/jbar")
+                from("jetty:http://localhost:"; + port4.getPort() + "/jbar")
                         .process(exchange -> receivedHostHeaderEndpoint3 = 
exchange.getIn().getHeader("Host", String.class))
                         .transform().constant("jbar");
 
-                from("jetty:http://localhost:"; + port5 + "/jbarf")
+                from("jetty:http://localhost:"; + port5.getPort() + "/jbarf")
                         .process(exchange -> receivedHostHeaderEndpoint4 = 
exchange.getIn().getHeader("Host", String.class))
                         .transform().constant("java???");
             }
diff --git 
a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyFailoverRoundRobinTest.java
 
b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyFailoverRoundRobinTest.java
index 5259ff901d44..b668b8e57f06 100644
--- 
a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyFailoverRoundRobinTest.java
+++ 
b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyFailoverRoundRobinTest.java
@@ -22,20 +22,23 @@ 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.assertEquals;
 
 public class JettyFailoverRoundRobinTest extends CamelTestSupport {
+    private static int port1 = AvailablePortFinder.getNextAvailable();
+    private static int port2 = AvailablePortFinder.getNextAvailable();
+    private static int port3 = AvailablePortFinder.getNextAvailable();
+    private static int port4 = AvailablePortFinder.getNextAvailable();
 
-    @RegisterExtension
-    AvailablePortFinder.Port port1 = AvailablePortFinder.find();
-    @RegisterExtension
-    AvailablePortFinder.Port port2 = AvailablePortFinder.find();
-    @RegisterExtension
-    AvailablePortFinder.Port port3 = AvailablePortFinder.find();
-    @RegisterExtension
-    AvailablePortFinder.Port port4 = AvailablePortFinder.find();
+    private String bad = "jetty:http://localhost:"; + port1 + "/bad";
+    private String bad2 = "jetty:http://localhost:"; + port2 + "/bad2";
+    private String good = "jetty:http://localhost:"; + port3 + "/good";
+    private String good2 = "jetty:http://localhost:"; + port4 + "/good2";
+    private String hbad = "http://localhost:"; + port1 + "/bad";
+    private String hbad2 = "http://localhost:"; + port2 + "/bad2";
+    private String hgood = "http://localhost:"; + port3 + "/good";
+    private String hgood2 = "http://localhost:"; + port4 + "/good2";
 
     @Test
     void testJettyFailoverRoundRobin() throws Exception {
@@ -75,31 +78,28 @@ public class JettyFailoverRoundRobinTest extends 
CamelTestSupport {
                         // -1 is to indicate that failover LB should newer 
exhaust and keep trying
                         .loadBalance().failover(-1, false, true)
                         // this is the four endpoints we will load balance 
with failover
-                        .to("http://localhost:"; + port1.getPort() + "/bad",
-                                "http://localhost:"; + port2.getPort() + 
"/bad2",
-                                "http://localhost:"; + port3.getPort() + 
"/good",
-                                "http://localhost:"; + port4.getPort() + 
"/good2");
+                        .to(hbad, hbad2, hgood, hgood2);
                 // END SNIPPET: e1
 
-                from("jetty:http://localhost:"; + port1.getPort() + "/bad")
+                from(bad)
                         .to("mock:bad")
                         .process(exchange -> {
                             
exchange.getIn().setHeader(Exchange.HTTP_RESPONSE_CODE, 500);
                             exchange.getIn().setBody("Something bad happened");
                         });
 
-                from("jetty:http://localhost:"; + port2.getPort() + "/bad2")
+                from(bad2)
                         .to("mock:bad2")
                         .process(exchange -> {
                             
exchange.getIn().setHeader(Exchange.HTTP_RESPONSE_CODE, 404);
                             exchange.getIn().setBody("Not found");
                         });
 
-                from("jetty:http://localhost:"; + port3.getPort() + "/good")
+                from(good)
                         .to("mock:good")
                         .process(exchange -> exchange.getIn().setBody("Good"));
 
-                from("jetty:http://localhost:"; + port4.getPort() + "/good2")
+                from(good2)
                         .to("mock:good2")
                         .process(exchange -> exchange.getIn().setBody("Also 
good"));
             }
diff --git 
a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyValidatorStreamTest.java
 
b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyValidatorStreamTest.java
index 625f5cefb1ca..84495419659e 100644
--- 
a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyValidatorStreamTest.java
+++ 
b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyValidatorStreamTest.java
@@ -22,31 +22,31 @@ import org.apache.camel.builder.RouteBuilder;
 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.assertNotNull;
 
 public class JettyValidatorStreamTest extends CamelTestSupport {
 
-    private int port;
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
 
     @Test
     void testValideRequestAsStream() {
         InputStream inputStream = 
this.getClass().getResourceAsStream("ValidRequest.xml");
         assertNotNull(inputStream, "The inputStream should not be null");
 
-        String response = template.requestBody("http://localhost:"; + port + 
"/test", inputStream, String.class);
+        String response = template.requestBody("http://localhost:"; + 
port.getPort() + "/test", inputStream, String.class);
         assertEquals("<ok/>", response, "The response should be ok");
     }
 
     @Override
     protected RouteBuilder createRouteBuilder() {
-        port = AvailablePortFinder.getNextAvailable();
-
         return new RouteBuilder() {
             @Override
             public void configure() {
-                from("jetty:http://localhost:"; + port + "/test")
+                from("jetty:http://localhost:"; + port.getPort() + "/test")
                         .to("validator:OptimizationRequest.xsd")
                         .transform(constant("<ok/>"));
             }
diff --git 
a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyValidatorStreamWithStreamCachingEnabledTest.java
 
b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyValidatorStreamWithStreamCachingEnabledTest.java
index b2865afa73fa..42151c3bbc50 100644
--- 
a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyValidatorStreamWithStreamCachingEnabledTest.java
+++ 
b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyValidatorStreamWithStreamCachingEnabledTest.java
@@ -22,33 +22,33 @@ import org.apache.camel.builder.RouteBuilder;
 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.assertNotNull;
 
 public class JettyValidatorStreamWithStreamCachingEnabledTest extends 
CamelTestSupport {
 
-    private int port;
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
 
     @Test
     void testValideRequestAsStream() {
         InputStream inputStream = 
this.getClass().getResourceAsStream("ValidRequest.xml");
         assertNotNull(inputStream, "The inputStream should not be null");
 
-        String response = template.requestBody("http://localhost:"; + port + 
"/test", inputStream, String.class);
+        String response = template.requestBody("http://localhost:"; + 
port.getPort() + "/test", inputStream, String.class);
         assertEquals("<ok/>", response, "The response should be ok");
     }
 
     @Override
     protected RouteBuilder createRouteBuilder() {
-        port = AvailablePortFinder.getNextAvailable();
-
         return new RouteBuilder() {
             @Override
             public void configure() {
                 context.setStreamCaching(true);
 
-                from("jetty:http://localhost:"; + port + "/test")
+                from("jetty:http://localhost:"; + port.getPort() + "/test")
                         .to("validator:OptimizationRequest.xsd")
                         .transform(constant("<ok/>"));
             }
diff --git 
a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyValidatorTest.java
 
b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyValidatorTest.java
index aa39f8b365c2..e85325979949 100644
--- 
a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyValidatorTest.java
+++ 
b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyValidatorTest.java
@@ -23,20 +23,22 @@ import org.apache.camel.builder.RouteBuilder;
 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.assertNotNull;
 
 public class JettyValidatorTest extends CamelTestSupport {
 
-    private int port;
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
 
     @Test
     void testValidRequest() {
         InputStream inputStream = 
this.getClass().getResourceAsStream("ValidRequest.xml");
         assertNotNull(inputStream, "The inputStream should not be null");
 
-        String response = template.requestBody("http://localhost:"; + port + 
"/test", inputStream, String.class);
+        String response = template.requestBody("http://localhost:"; + 
port.getPort() + "/test", inputStream, String.class);
 
         assertEquals("<ok/>", response, "The response should be ok");
     }
@@ -46,17 +48,15 @@ public class JettyValidatorTest extends CamelTestSupport {
         InputStream inputStream = 
this.getClass().getResourceAsStream("InvalidRequest.xml");
         assertNotNull(inputStream, "The inputStream should not be null");
 
-        String response = template.requestBody("http://localhost:"; + port + 
"/test", inputStream, String.class);
+        String response = template.requestBody("http://localhost:"; + 
port.getPort() + "/test", inputStream, String.class);
         assertEquals("<error/>", response, "The response should be error");
     }
 
     @Override
     protected RouteBuilder createRouteBuilder() {
-        port = AvailablePortFinder.getNextAvailable();
-
         return new RouteBuilder() {
             public void configure() {
-                from("jetty:http://localhost:"; + port + "/test")
+                from("jetty:http://localhost:"; + port.getPort() + "/test")
                         .convertBodyTo(String.class)
                         .to("log:in")
                         .doTry()
diff --git 
a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyXsltHttpTemplateTest.java
 
b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyXsltHttpTemplateTest.java
index 1bb49243c845..5499be9732be 100644
--- 
a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyXsltHttpTemplateTest.java
+++ 
b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyXsltHttpTemplateTest.java
@@ -23,20 +23,22 @@ import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.awaitility.Awaitility;
 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;
 
 public class JettyXsltHttpTemplateTest extends CamelTestSupport {
 
-    private int port;
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
 
     @Test
     void testXsltHttpTemplate() throws Exception {
         // give Jetty a bit of time to startup and be ready
         Awaitility.await().atMost(1, TimeUnit.SECONDS).until(() -> 
context.isStarted());
 
-        String xml = template.requestBody("xslt:http://0.0.0.0:"; + port + 
"/myxslt",
+        String xml = template.requestBody("xslt:http://0.0.0.0:"; + 
port.getPort() + "/myxslt",
                 "<mail><subject>Hey</subject><body>Hello 
world!</body></mail>", String.class);
 
         assertNotNull(xml, "The transformed XML should not be null");
@@ -49,12 +51,10 @@ public class JettyXsltHttpTemplateTest extends 
CamelTestSupport {
 
     @Override
     protected RouteBuilder createRouteBuilder() {
-        port = AvailablePortFinder.getNextAvailable();
-
         return new RouteBuilder() {
             @Override
             public void configure() {
-                from("jetty:http://0.0.0.0:"; + port + "/myxslt")
+                from("jetty:http://0.0.0.0:"; + port.getPort() + "/myxslt")
                         .pollEnrich(
                                 
"file://src/test/resources/org/apache/camel/component/jetty/?fileName=transform.xsl&noop=true&readLock=none",
                                 2000)
diff --git 
a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyXsltTest.java
 
b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyXsltTest.java
index 408d9115af60..44671ea2fef5 100644
--- 
a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyXsltTest.java
+++ 
b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyXsltTest.java
@@ -26,6 +26,7 @@ import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.camel.util.ObjectHelper;
 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;
@@ -33,7 +34,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class JettyXsltTest extends CamelTestSupport {
 
-    private int port;
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
 
     @Test
     void testClasspath() {
@@ -56,7 +58,7 @@ public class JettyXsltTest extends CamelTestSupport {
 
     @Test
     void testHttp() {
-        String response = template.requestBody("xslt://http://localhost:"; + 
port + "/test?name=greeting.xsl",
+        String response = template.requestBody("xslt://http://localhost:"; + 
port.getPort() + "/test?name=greeting.xsl",
                 "<hello>Camel</hello>", String.class);
 
         assertEquals("<?xml version=\"1.0\" 
encoding=\"UTF-8\"?><goodbye>Camel</goodbye>", response);
@@ -64,11 +66,9 @@ public class JettyXsltTest extends CamelTestSupport {
 
     @Override
     protected RouteBuilder createRouteBuilder() {
-        port = AvailablePortFinder.getNextAvailable();
-
         return new RouteBuilder() {
             public void configure() {
-                from("jetty:http://localhost:"; + port + "/test")
+                from("jetty:http://localhost:"; + port.getPort() + "/test")
                         .process(exchange -> {
                             String name = exchange.getIn().getHeader("name", 
String.class);
                             ObjectHelper.notNull(name, "name");
diff --git 
a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/SpringFailoverRoundRobinTest.java
 
b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/SpringFailoverRoundRobinTest.java
index deccf1deb9a7..38ab1102a984 100644
--- 
a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/SpringFailoverRoundRobinTest.java
+++ 
b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/SpringFailoverRoundRobinTest.java
@@ -20,6 +20,7 @@ import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.spring.junit6.CamelSpringTestSupport;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 import org.springframework.context.support.AbstractXmlApplicationContext;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 
@@ -27,22 +28,23 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class SpringFailoverRoundRobinTest extends CamelSpringTestSupport {
 
-    private static int port1 = AvailablePortFinder.getNextAvailable();
-    private static int port2 = AvailablePortFinder.getNextAvailable();
-    private static int port3 = AvailablePortFinder.getNextAvailable();
-    private static int port4 = AvailablePortFinder.getNextAvailable();
-
-    static {
-        //set them as system properties so Spring can use the property 
placeholder
-        //things to set them into the URL's in the spring contexts
-        System.setProperty("JettySpringFailoverRoundRobinTest.port1", 
Integer.toString(port1));
-        System.setProperty("JettySpringFailoverRoundRobinTest.port2", 
Integer.toString(port2));
-        System.setProperty("JettySpringFailoverRoundRobinTest.port3", 
Integer.toString(port3));
-        System.setProperty("JettySpringFailoverRoundRobinTest.port4", 
Integer.toString(port4));
-    }
+    @RegisterExtension
+    AvailablePortFinder.Port port1 = AvailablePortFinder.find();
+    @RegisterExtension
+    AvailablePortFinder.Port port2 = AvailablePortFinder.find();
+    @RegisterExtension
+    AvailablePortFinder.Port port3 = AvailablePortFinder.find();
+    @RegisterExtension
+    AvailablePortFinder.Port port4 = AvailablePortFinder.find();
 
     @Override
     protected AbstractXmlApplicationContext createApplicationContext() {
+        //set them as system properties so Spring can use the property 
placeholder
+        //things to set them into the URL's in the spring contexts
+        System.setProperty("JettySpringFailoverRoundRobinTest.port1", 
Integer.toString(port1.getPort()));
+        System.setProperty("JettySpringFailoverRoundRobinTest.port2", 
Integer.toString(port2.getPort()));
+        System.setProperty("JettySpringFailoverRoundRobinTest.port3", 
Integer.toString(port3.getPort()));
+        System.setProperty("JettySpringFailoverRoundRobinTest.port4", 
Integer.toString(port4.getPort()));
         return new 
ClassPathXmlApplicationContext("/org/apache/camel/component/jetty/JettySpringFailoverRoundRobinTest.xml");
     }
 
diff --git 
a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/rest/RestJettyRedirectTest.java
 
b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/rest/RestJettyRedirectTest.java
index 4cad70b0e238..dc9e6b3ef807 100644
--- 
a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/rest/RestJettyRedirectTest.java
+++ 
b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/rest/RestJettyRedirectTest.java
@@ -22,31 +22,33 @@ import org.apache.camel.component.http.HttpComponent;
 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;
 
 public class RestJettyRedirectTest extends CamelTestSupport {
 
-    private int port;
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
 
     @Test
     void testRedirectInvocation() {
-        String response = template.requestBody("http://localhost:"; + port + 
"/metadata/profile/tag", "<hello>Camel</hello>",
+        String response = template.requestBody("http://localhost:"; + 
port.getPort() + "/metadata/profile/tag",
+                "<hello>Camel</hello>",
                 String.class);
         assertEquals("Mock profile", response, "It should support the redirect 
out of box.");
     }
 
     @Override
     protected RouteBuilder createRouteBuilder() {
-        port = AvailablePortFinder.getNextAvailable();
-
         return new RouteBuilder() {
             public void configure() {
                 // enable follow redirects
                 HttpComponent http = context.getComponent("http", 
HttpComponent.class);
                 http.setFollowRedirects(true);
 
-                
restConfiguration().component("jetty").host("localhost").scheme("http").port(port).producerComponent("http");
+                
restConfiguration().component("jetty").host("localhost").scheme("http").port(port.getPort())
+                        .producerComponent("http");
                 rest("/metadata/profile")
                         .get("/{id}").to("direct:profileLookup")
                         .post("/tag").to("direct:tag");
diff --git 
a/components/camel-platform-http-main/src/test/java/org/apache/camel/component/platform/http/main/MainHttpServerRouteTest.java
 
b/components/camel-platform-http-main/src/test/java/org/apache/camel/component/platform/http/main/MainHttpServerRouteTest.java
index 2998a7b3bca5..7e351f5174d6 100644
--- 
a/components/camel-platform-http-main/src/test/java/org/apache/camel/component/platform/http/main/MainHttpServerRouteTest.java
+++ 
b/components/camel-platform-http-main/src/test/java/org/apache/camel/component/platform/http/main/MainHttpServerRouteTest.java
@@ -28,12 +28,14 @@ import org.apache.camel.test.AvailablePortFinder;
 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;
 
 class MainHttpServerRouteTest {
 
-    private static final int port = AvailablePortFinder.getNextAvailable();
+    @RegisterExtension
+    static AvailablePortFinder.Port port = AvailablePortFinder.find();
 
     private static CamelContext camelContext;
 
@@ -52,7 +54,7 @@ class MainHttpServerRouteTest {
         // MainHttpServer needs to get registered/started explicitly
         // https://issues.apache.org/jira/browse/CAMEL-21741
         MainHttpServer httpServer = new MainHttpServer();
-        httpServer.setPort(port);
+        httpServer.setPort(port.getPort());
 
         camelContext.addService(httpServer);
         camelContext.start();
@@ -69,7 +71,7 @@ class MainHttpServerRouteTest {
     public void routeStatusOk() throws Exception {
 
         HttpRequest request = HttpRequest.newBuilder()
-                .uri(URI.create("http://localhost:"; + port + "/hello"))
+                .uri(URI.create("http://localhost:"; + port.getPort() + 
"/hello"))
                 .build();
 
         HttpResponse<String> response = HttpClient.newBuilder().build()
diff --git 
a/components/camel-platform-http-main/src/test/java/org/apache/camel/component/platform/http/main/ManagementHttpServerTest.java
 
b/components/camel-platform-http-main/src/test/java/org/apache/camel/component/platform/http/main/ManagementHttpServerTest.java
index 46600a4aeae0..7d451dab1238 100644
--- 
a/components/camel-platform-http-main/src/test/java/org/apache/camel/component/platform/http/main/ManagementHttpServerTest.java
+++ 
b/components/camel-platform-http-main/src/test/java/org/apache/camel/component/platform/http/main/ManagementHttpServerTest.java
@@ -26,6 +26,7 @@ import org.apache.camel.CamelContext;
 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.assertEquals;
 
@@ -33,7 +34,8 @@ class ManagementHttpServerTest {
 
     private CamelContext camelContext;
 
-    private final int port = AvailablePortFinder.getNextAvailable();
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
 
     @Test
     public void statusIsNotSatisfied() throws IOException, 
InterruptedException {
@@ -45,7 +47,7 @@ class ManagementHttpServerTest {
         camelContext.getRegistry().bind("fake", new MainHttpFakeHealthCheck());
 
         server.setHost("0.0.0.0");
-        server.setPort(port);
+        server.setPort(port.getPort());
         server.setPath("/");
 
         server.setHealthCheckEnabled(true);
@@ -53,7 +55,7 @@ class ManagementHttpServerTest {
         server.start();
 
         HttpRequest request = HttpRequest.newBuilder()
-                .uri(URI.create("http://localhost:"; + port + 
"/q/health/ready"))
+                .uri(URI.create("http://localhost:"; + port.getPort() + 
"/q/health/ready"))
                 .build();
 
         HttpResponse<String> response = 
HttpClient.newBuilder().build().send(request, 
HttpResponse.BodyHandlers.ofString());
diff --git 
a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/RestOpenApiCodeFirstOnExceptionIssueTest.java
 
b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/RestOpenApiCodeFirstOnExceptionIssueTest.java
index 520a484c4160..2420fd576deb 100644
--- 
a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/RestOpenApiCodeFirstOnExceptionIssueTest.java
+++ 
b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/RestOpenApiCodeFirstOnExceptionIssueTest.java
@@ -24,10 +24,13 @@ import org.apache.camel.impl.DefaultCamelContext;
 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 io.restassured.RestAssured.given;
 
 public class RestOpenApiCodeFirstOnExceptionIssueTest extends CamelTestSupport 
{
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
 
     @Override
     protected boolean useJmx() {
@@ -110,11 +113,10 @@ public class RestOpenApiCodeFirstOnExceptionIssueTest 
extends CamelTestSupport {
 
     @Override
     public CamelContext createCamelContext() throws Exception {
-        int port = AvailablePortFinder.getNextAvailable();
         VertxPlatformHttpServerConfiguration conf = new 
VertxPlatformHttpServerConfiguration();
-        conf.setBindPort(port);
+        conf.setBindPort(port.getPort());
 
-        RestAssured.port = port;
+        RestAssured.port = port.getPort();
 
         CamelContext context = new DefaultCamelContext();
         context.addService(new VertxPlatformHttpServer(conf));
diff --git 
a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/RestOpenApiContractFirstOnExceptionIssueTest.java
 
b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/RestOpenApiContractFirstOnExceptionIssueTest.java
index df56c22a13cf..498927848c23 100644
--- 
a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/RestOpenApiContractFirstOnExceptionIssueTest.java
+++ 
b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/RestOpenApiContractFirstOnExceptionIssueTest.java
@@ -24,10 +24,13 @@ import org.apache.camel.impl.DefaultCamelContext;
 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 io.restassured.RestAssured.given;
 
 public class RestOpenApiContractFirstOnExceptionIssueTest extends 
CamelTestSupport {
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
 
     @Override
     protected boolean useJmx() {
@@ -102,11 +105,10 @@ public class RestOpenApiContractFirstOnExceptionIssueTest 
extends CamelTestSuppo
 
     @Override
     public CamelContext createCamelContext() throws Exception {
-        int port = AvailablePortFinder.getNextAvailable();
         VertxPlatformHttpServerConfiguration conf = new 
VertxPlatformHttpServerConfiguration();
-        conf.setBindPort(port);
+        conf.setBindPort(port.getPort());
 
-        RestAssured.port = port;
+        RestAssured.port = port.getPort();
 
         CamelContext context = new DefaultCamelContext();
         context.addService(new VertxPlatformHttpServer(conf));
diff --git 
a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpAuthenticationTest.java
 
b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpAuthenticationTest.java
index fa63c984af93..8f2c54a7beb6 100644
--- 
a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpAuthenticationTest.java
+++ 
b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpAuthenticationTest.java
@@ -32,11 +32,14 @@ import 
org.apache.camel.component.platform.http.vertx.auth.AuthenticationConfig.
 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 io.restassured.RestAssured.given;
 import static org.hamcrest.Matchers.equalTo;
 
 public class VertxPlatformHttpAuthenticationTest {
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
 
     @Test
     public void testAuthenticationDisabled() throws Exception {
@@ -287,9 +290,8 @@ public class VertxPlatformHttpAuthenticationTest {
 
     private CamelContext createCamelContext(AuthenticationConfigCustomizer 
customizer)
             throws Exception {
-        int bindPort = AvailablePortFinder.getNextAvailable();
-        RestAssured.port = bindPort;
-        return createCamelContext(bindPort, customizer);
+        RestAssured.port = port.getPort();
+        return createCamelContext(port.getPort(), customizer);
     }
 
     private CamelContext createCamelContext(int bindPort, 
AuthenticationConfigCustomizer customizer)
diff --git 
a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpCookieTest.java
 
b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpCookieTest.java
index b042fed5094f..6a1e5b27332c 100644
--- 
a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpCookieTest.java
+++ 
b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpCookieTest.java
@@ -25,6 +25,7 @@ import 
org.apache.camel.component.platform.http.cookie.CookieHandler;
 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 io.restassured.RestAssured.given;
 import static io.restassured.matcher.RestAssuredMatchers.detailedCookie;
@@ -32,6 +33,8 @@ import static org.hamcrest.Matchers.equalTo;
 import static org.hamcrest.Matchers.notNullValue;
 
 public class VertxPlatformHttpCookieTest {
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
 
     // add a cookie using the default cookie configuration
     @Test
@@ -250,12 +253,11 @@ public class VertxPlatformHttpCookieTest {
         return exchange.getProperty(Exchange.COOKIE_HANDLER, 
CookieHandler.class);
     }
 
-    static CamelContext createCamelContext() throws Exception {
-        int port = AvailablePortFinder.getNextAvailable();
+    CamelContext createCamelContext() throws Exception {
         VertxPlatformHttpServerConfiguration conf = new 
VertxPlatformHttpServerConfiguration();
-        conf.setBindPort(port);
+        conf.setBindPort(port.getPort());
 
-        RestAssured.port = port;
+        RestAssured.port = port.getPort();
 
         CamelContext context = new DefaultCamelContext();
         context.addService(new VertxPlatformHttpServer(conf));
diff --git 
a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpEngineTest.java
 
b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpEngineTest.java
index 249d624e5796..a49e136363fe 100644
--- 
a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpEngineTest.java
+++ 
b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpEngineTest.java
@@ -65,6 +65,7 @@ import org.apache.camel.test.AvailablePortFinder;
 import org.apache.hc.client5.http.utils.Base64;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static io.restassured.RestAssured.get;
 import static io.restassured.RestAssured.given;
@@ -82,6 +83,13 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertNull;
 
 public class VertxPlatformHttpEngineTest {
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
+    @RegisterExtension
+    AvailablePortFinder.Port port2 = AvailablePortFinder.find();
+    @RegisterExtension
+    AvailablePortFinder.Port port3 = AvailablePortFinder.find();
+
     public static SSLContextParameters serverSSLParameters;
     public static SSLContextParameters clientSSLParameters;
 
@@ -123,7 +131,7 @@ public class VertxPlatformHttpEngineTest {
 
     @Test
     public void testEngineSetup() throws Exception {
-        final CamelContext context = createCamelContext();
+        final CamelContext context = createCamelContextForTest();
         try {
             context.start();
 
@@ -140,7 +148,7 @@ public class VertxPlatformHttpEngineTest {
 
     @Test
     public void testEngine() throws Exception {
-        final CamelContext context = createCamelContext();
+        final CamelContext context = createCamelContextForTest();
         VertxPlatformHttpServer platformHttpServer;
 
         try {
@@ -197,7 +205,7 @@ public class VertxPlatformHttpEngineTest {
 
     @Test
     public void testSlowConsumer() throws Exception {
-        final CamelContext context = createCamelContext();
+        final CamelContext context = createCamelContextForTest();
 
         try {
             context.getRegistry().bind(
@@ -232,7 +240,7 @@ public class VertxPlatformHttpEngineTest {
 
     @Test
     public void testSlowConsumerWithTimeout() throws Exception {
-        final CamelContext context = createCamelContext();
+        final CamelContext context = createCamelContextForTest();
 
         try {
             context.getRegistry().bind(
@@ -266,7 +274,7 @@ public class VertxPlatformHttpEngineTest {
 
     @Test
     public void testTimeoutNotExceeded() throws Exception {
-        final CamelContext context = createCamelContext();
+        final CamelContext context = createCamelContextForTest();
 
         String response = "Request did not time out";
         try {
@@ -295,7 +303,7 @@ public class VertxPlatformHttpEngineTest {
 
     @Test
     public void testFailingConsumer() throws Exception {
-        final CamelContext context = createCamelContext();
+        final CamelContext context = createCamelContextForTest();
 
         try {
             context.addRoutes(new RouteBuilder() {
@@ -325,7 +333,7 @@ public class VertxPlatformHttpEngineTest {
     @Test
     public void testEngineSSL() throws Exception {
         final CamelContext context
-                = createCamelContext(configuration -> 
configuration.setSslContextParameters(serverSSLParameters));
+                = createCamelContextForTest(configuration -> 
configuration.setSslContextParameters(serverSSLParameters));
 
         try {
             context.getRegistry().bind("clientSSLContextParameters", 
clientSSLParameters);
@@ -352,7 +360,8 @@ public class VertxPlatformHttpEngineTest {
 
     @Test
     public void testEngineGlobalSSL() throws Exception {
-        final CamelContext context = createCamelContext(configuration -> 
configuration.setUseGlobalSslContextParameters(true));
+        final CamelContext context
+                = createCamelContextForTest(configuration -> 
configuration.setUseGlobalSslContextParameters(true));
 
         try {
             context.setSSLContextParameters(serverSSLParameters);
@@ -381,7 +390,7 @@ public class VertxPlatformHttpEngineTest {
 
     @Test
     public void testEngineCORS() throws Exception {
-        final CamelContext context = createCamelContext(configuration -> {
+        final CamelContext context = createCamelContextForTest(configuration 
-> {
             configuration.getCors().setEnabled(true);
             configuration.getCors().setMethods(Arrays.asList("GET", "POST"));
         });
@@ -419,7 +428,7 @@ public class VertxPlatformHttpEngineTest {
 
     @Test
     public void testMatchOnUriPrefix() throws Exception {
-        final CamelContext context = createCamelContext();
+        final CamelContext context = createCamelContextForTest();
         try {
             final String greeting = "Hello Camel";
             context.addRoutes(new RouteBuilder() {
@@ -476,7 +485,7 @@ public class VertxPlatformHttpEngineTest {
             Files.write(tempFile.toPath(), 
fileContent.getBytes(StandardCharsets.UTF_8));
         }
 
-        final CamelContext context = createCamelContext(configuration -> {
+        final CamelContext context = createCamelContextForTest(configuration 
-> {
             VertxPlatformHttpServerConfiguration.BodyHandler bodyHandler
                     = new VertxPlatformHttpServerConfiguration.BodyHandler();
             // turn on file uploads
@@ -528,7 +537,7 @@ public class VertxPlatformHttpEngineTest {
         final String attachmentId = "myTestFile";
         final String fileContent = "Test multipart upload content";
         final File tempFile = File.createTempFile("platform-http", ".txt");
-        final CamelContext context = createCamelContext(configuration -> {
+        final CamelContext context = createCamelContextForTest(configuration 
-> {
             VertxPlatformHttpServerConfiguration.BodyHandler bodyHandler
                     = new VertxPlatformHttpServerConfiguration.BodyHandler();
             // turn on file uploads
@@ -573,7 +582,7 @@ public class VertxPlatformHttpEngineTest {
 
     @Test
     public void testFormPost() throws Exception {
-        final CamelContext context = createCamelContext();
+        final CamelContext context = createCamelContextForTest();
 
         try {
             context.addRoutes(new RouteBuilder() {
@@ -601,7 +610,7 @@ public class VertxPlatformHttpEngineTest {
 
     @Test
     public void testTextContentPost() throws Exception {
-        final CamelContext context = createCamelContext();
+        final CamelContext context = createCamelContextForTest();
 
         try {
             context.addRoutes(new RouteBuilder() {
@@ -630,7 +639,7 @@ public class VertxPlatformHttpEngineTest {
 
     @Test
     public void testRestCORSWitchConsumes() throws Exception {
-        final CamelContext context = createCamelContext();
+        final CamelContext context = createCamelContextForTest();
 
         try {
             context.addRoutes(new RouteBuilder() {
@@ -670,7 +679,7 @@ public class VertxPlatformHttpEngineTest {
 
     @Test
     public void testBodyClientRequestValidation() throws Exception {
-        final CamelContext context = createCamelContext();
+        final CamelContext context = createCamelContextForTest();
 
         try {
             context.addRoutes(new RouteBuilder() {
@@ -723,7 +732,7 @@ public class VertxPlatformHttpEngineTest {
         AuthenticationProvider authProvider = 
PropertyFileAuthentication.create(vertx, "authentication/auth.properties");
         BasicAuthHandler basicAuthHandler = 
BasicAuthHandler.create(authProvider);
 
-        CamelContext context = createCamelContext();
+        CamelContext context = createCamelContextForTest();
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() {
@@ -772,7 +781,7 @@ public class VertxPlatformHttpEngineTest {
 
     @Test
     public void testRequestBodyAllowed() throws Exception {
-        final CamelContext context = createCamelContext();
+        final CamelContext context = createCamelContextForTest();
 
         try {
             context.addRoutes(new RouteBuilder() {
@@ -810,7 +819,7 @@ public class VertxPlatformHttpEngineTest {
     public void testRequestBodyAllowedFormUrlEncoded() throws Exception {
         // Methods that are allowed a request body by Vert.x web for 
application/x-www-form-urlencoded
         final List<Method> methodsWithBodyAllowed = List.of(Method.POST, 
Method.PUT, Method.PATCH, Method.DELETE);
-        final CamelContext context = createCamelContext();
+        final CamelContext context = createCamelContextForTest();
 
         try {
             context.addRoutes(new RouteBuilder() {
@@ -848,7 +857,7 @@ public class VertxPlatformHttpEngineTest {
 
     @Test
     public void responseHeaders() throws Exception {
-        final CamelContext context = createCamelContext();
+        final CamelContext context = createCamelContextForTest();
 
         try {
             context.addRoutes(new RouteBuilder() {
@@ -881,7 +890,7 @@ public class VertxPlatformHttpEngineTest {
 
     @Test
     public void responseMultipleHeaders() throws Exception {
-        final CamelContext context = createCamelContext();
+        final CamelContext context = createCamelContextForTest();
 
         try {
             context.addRoutes(new RouteBuilder() {
@@ -911,7 +920,7 @@ public class VertxPlatformHttpEngineTest {
 
     @Test
     public void testConsumerSuspended() throws Exception {
-        final CamelContext context = createCamelContext();
+        final CamelContext context = createCamelContextForTest();
 
         try {
             context.addRoutes(new RouteBuilder() {
@@ -947,7 +956,7 @@ public class VertxPlatformHttpEngineTest {
 
     @Test
     public void testInvalidContentTypeClientRequestValidation() throws 
Exception {
-        final CamelContext context = createCamelContext();
+        final CamelContext context = createCamelContextForTest();
 
         try {
             context.addRoutes(new RouteBuilder() {
@@ -982,7 +991,7 @@ public class VertxPlatformHttpEngineTest {
 
     @Test
     public void testLocalAddressHeader() throws Exception {
-        final CamelContext context = createCamelContext();
+        final CamelContext context = createCamelContextForTest();
 
         try {
             context.addRoutes(new RouteBuilder() {
@@ -1011,7 +1020,7 @@ public class VertxPlatformHttpEngineTest {
 
     @Test
     public void testRemoteAddressHeader() throws Exception {
-        final CamelContext context = createCamelContext();
+        final CamelContext context = createCamelContextForTest();
 
         try {
             context.addRoutes(new RouteBuilder() {
@@ -1040,7 +1049,7 @@ public class VertxPlatformHttpEngineTest {
 
     @Test
     public void testVertxRequestResponseObjects() throws Exception {
-        final CamelContext context = createCamelContext();
+        final CamelContext context = createCamelContextForTest();
 
         try {
             context.addRoutes(new RouteBuilder() {
@@ -1070,7 +1079,7 @@ public class VertxPlatformHttpEngineTest {
 
     @Test
     public void testAddCookie() throws Exception {
-        final CamelContext context = createCamelContext();
+        final CamelContext context = createCamelContextForTest();
 
         try {
             context.addRoutes(new RouteBuilder() {
@@ -1103,7 +1112,7 @@ public class VertxPlatformHttpEngineTest {
 
     @Test
     public void testRemoveCookie() throws Exception {
-        final CamelContext context = createCamelContext();
+        final CamelContext context = createCamelContextForTest();
 
         try {
             context.addRoutes(new RouteBuilder() {
@@ -1139,7 +1148,7 @@ public class VertxPlatformHttpEngineTest {
 
     @Test
     public void testReplaceCookie() throws Exception {
-        final CamelContext context = createCamelContext();
+        final CamelContext context = createCamelContextForTest();
 
         try {
             context.addRoutes(new RouteBuilder() {
@@ -1177,7 +1186,7 @@ public class VertxPlatformHttpEngineTest {
 
     @Test
     public void testResponseTypeConversionErrorHandled() throws Exception {
-        final CamelContext context = createCamelContext();
+        final CamelContext context = createCamelContextForTest();
 
         try {
             context.addRoutes(new RouteBuilder() {
@@ -1201,7 +1210,7 @@ public class VertxPlatformHttpEngineTest {
 
     @Test
     public void testResponseBadQueryParamErrorHandled() throws Exception {
-        final CamelContext context = createCamelContext();
+        final CamelContext context = createCamelContextForTest();
 
         try {
             context.addRoutes(new RouteBuilder() {
@@ -1228,8 +1237,8 @@ public class VertxPlatformHttpEngineTest {
         // This test simulates CAMEL-22937: when both main server and 
management server are running,
         // findSingleByType returns null because there are multiple instances 
of VertxPlatformHttpServer.
         // The engine should prefer the main server (SERVER_TYPE_SERVER) over 
the management server.
-        int mainPort = AvailablePortFinder.getNextAvailable();
-        int managementPort = AvailablePortFinder.getNextAvailable();
+        int mainPort = port2.getPort();
+        int managementPort = port3.getPort();
 
         VertxPlatformHttpServerConfiguration mainConf = new 
VertxPlatformHttpServerConfiguration();
         mainConf.setBindPort(mainPort);
@@ -1285,16 +1294,8 @@ public class VertxPlatformHttpEngineTest {
         // camel.server.port = 8084
         // camel.management.port = 8083
         // The engine should always prefer the main server port.
-        int serverPort = 8084;
-        int managementPort = 8083;
-
-        // Check if ports are available, otherwise use dynamic ports
-        if (!isPortAvailable(serverPort)) {
-            serverPort = AvailablePortFinder.getNextAvailable();
-        }
-        if (!isPortAvailable(managementPort)) {
-            managementPort = AvailablePortFinder.getNextAvailable();
-        }
+        int serverPort = port2.getPort();
+        int managementPort = port3.getPort();
 
         VertxPlatformHttpServerConfiguration mainConf = new 
VertxPlatformHttpServerConfiguration();
         mainConf.setBindPort(serverPort);
@@ -1343,21 +1344,27 @@ public class VertxPlatformHttpEngineTest {
         }
     }
 
-    private boolean isPortAvailable(int port) {
-        try (java.net.ServerSocket socket = new java.net.ServerSocket(port)) {
-            socket.setReuseAddress(true);
-            return true;
-        } catch (java.io.IOException e) {
-            return false;
-        }
-    }
-
     static CamelContext createCamelContext() throws Exception {
-        return createCamelContext(null);
+        return createCamelContext(AvailablePortFinder.find().getPort(), null);
     }
 
     static CamelContext createCamelContext(ServerConfigurationCustomizer 
customizer) throws Exception {
-        int port = AvailablePortFinder.getNextAvailable();
+        return createCamelContext(AvailablePortFinder.find().getPort(), 
customizer);
+    }
+
+    CamelContext createCamelContextForTest() throws Exception {
+        return createCamelContext(port.getPort(), null);
+    }
+
+    CamelContext createCamelContextForTest(ServerConfigurationCustomizer 
customizer) throws Exception {
+        return createCamelContext(port.getPort(), customizer);
+    }
+
+    static CamelContext createCamelContext(int port) throws Exception {
+        return createCamelContext(port, null);
+    }
+
+    static CamelContext createCamelContext(int port, 
ServerConfigurationCustomizer customizer) throws Exception {
         VertxPlatformHttpServerConfiguration conf = new 
VertxPlatformHttpServerConfiguration();
         conf.setBindPort(port);
 
diff --git 
a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpNoBodyHandlerTest.java
 
b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpNoBodyHandlerTest.java
index 48b23bd37d1a..216b1ed36ceb 100644
--- 
a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpNoBodyHandlerTest.java
+++ 
b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpNoBodyHandlerTest.java
@@ -24,6 +24,7 @@ import org.apache.camel.test.AvailablePortFinder;
 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 com.github.tomakehurst.wiremock.client.WireMock.aResponse;
 import static com.github.tomakehurst.wiremock.client.WireMock.containing;
@@ -34,11 +35,14 @@ import static io.restassured.RestAssured.given;
 import static org.hamcrest.Matchers.is;
 
 public class VertxPlatformHttpNoBodyHandlerTest {
-    private final int port = AvailablePortFinder.getNextAvailable();
-    private final WireMockServer wireMockServer = new 
WireMockServer(options().port(port));
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
+
+    private WireMockServer wireMockServer;
 
     @BeforeEach
     void before() {
+        wireMockServer = new WireMockServer(options().port(port.getPort()));
         wireMockServer.stubFor(post(urlPathEqualTo("/test"))
                 .withRequestBody(containing("Hello World"))
                 .willReturn(aResponse()
diff --git 
a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpPooledExchangeTest.java
 
b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpPooledExchangeTest.java
index 1ca531ce8781..392d91893d6c 100644
--- 
a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpPooledExchangeTest.java
+++ 
b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpPooledExchangeTest.java
@@ -31,6 +31,7 @@ import org.apache.camel.spi.PooledObjectFactory;
 import org.apache.camel.test.AvailablePortFinder;
 import org.awaitility.Awaitility;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static io.restassured.RestAssured.get;
 import static org.assertj.core.api.Assertions.assertThat;
@@ -38,6 +39,8 @@ import static org.hamcrest.Matchers.is;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class VertxPlatformHttpPooledExchangeTest {
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
 
     @Test
     public void testEngineSetup() throws Exception {
@@ -93,16 +96,15 @@ public class VertxPlatformHttpPooledExchangeTest {
         }
     }
 
-    static CamelContext createCamelContext() throws Exception {
+    CamelContext createCamelContext() throws Exception {
         return createCamelContext(null);
     }
 
-    private static CamelContext 
createCamelContext(ServerConfigurationCustomizer customizer) throws Exception {
-        int port = AvailablePortFinder.getNextAvailable();
+    private CamelContext createCamelContext(ServerConfigurationCustomizer 
customizer) throws Exception {
         VertxPlatformHttpServerConfiguration conf = new 
VertxPlatformHttpServerConfiguration();
-        conf.setBindPort(port);
+        conf.setBindPort(port.getPort());
 
-        RestAssured.port = port;
+        RestAssured.port = port.getPort();
 
         if (customizer != null) {
             customizer.customize(conf);
diff --git 
a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpProxyTest.java
 
b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpProxyTest.java
index b393b4dd7f09..e2a3083be4bc 100644
--- 
a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpProxyTest.java
+++ 
b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpProxyTest.java
@@ -25,6 +25,7 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.test.AvailablePortFinder;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.extension.RegisterExtension;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.ValueSource;
 
@@ -36,11 +37,14 @@ import static io.restassured.RestAssured.given;
 import static org.hamcrest.Matchers.containsString;
 
 public class VertxPlatformHttpProxyTest {
-    private final int port = AvailablePortFinder.getNextAvailable();
-    private final WireMockServer wireMockServer = new 
WireMockServer(options().port(port));
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
+
+    private WireMockServer wireMockServer;
 
     @BeforeEach
     void before() {
+        wireMockServer = new WireMockServer(options().port(port.getPort()));
         wireMockServer.stubFor(get(urlPathEqualTo("/"))
                 .willReturn(aResponse()
                         .withBody(
diff --git 
a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpSessionTest.java
 
b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpSessionTest.java
index 8f6dd316ff09..77bd6da80f21 100644
--- 
a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpSessionTest.java
+++ 
b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpSessionTest.java
@@ -34,6 +34,7 @@ import 
org.apache.camel.http.base.cookie.InstanceCookieHandler;
 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 io.restassured.RestAssured.given;
 import static io.restassured.matcher.RestAssuredMatchers.detailedCookie;
@@ -43,6 +44,10 @@ import static org.hamcrest.Matchers.nullValue;
 import static org.junit.jupiter.api.Assertions.*;
 
 public class VertxPlatformHttpSessionTest {
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
+    @RegisterExtension
+    AvailablePortFinder.Port sessionPort = AvailablePortFinder.find();
 
     @Test
     public void testSessionDisabled() throws Exception {
@@ -160,8 +165,7 @@ public class VertxPlatformHttpSessionTest {
 
     @Test
     public void testSessionHandling() throws Exception {
-        int port = AvailablePortFinder.getNextAvailable();
-        CamelContext context = createCamelContext(port,
+        CamelContext context = createCamelContext(sessionPort.getPort(),
                 sessionConfig -> {
                     sessionConfig.setEnabled(true);
                 });
@@ -177,7 +181,7 @@ public class VertxPlatformHttpSessionTest {
 
                     from("direct:session")
                             
.toF("http://localhost:%d/session?cookieHandler=#instanceCookieHander";,
-                                    port);
+                                    sessionPort.getPort());
                 }
             });
 
@@ -211,9 +215,8 @@ public class VertxPlatformHttpSessionTest {
 
     private CamelContext createCamelContext(SessionConfigCustomizer customizer)
             throws Exception {
-        int bindPort = AvailablePortFinder.getNextAvailable();
-        RestAssured.port = bindPort;
-        return createCamelContext(bindPort, customizer);
+        RestAssured.port = port.getPort();
+        return createCamelContext(port.getPort(), customizer);
     }
 
     private CamelContext createCamelContext(int bindPort, 
SessionConfigCustomizer customizer)
diff --git 
a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpSharedVertxTest.java
 
b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpSharedVertxTest.java
index 4fc124b33ed5..0a5d1ea6ae5e 100644
--- 
a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpSharedVertxTest.java
+++ 
b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpSharedVertxTest.java
@@ -26,10 +26,14 @@ import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.test.AvailablePortFinder;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 class VertxPlatformHttpSharedVertxTest {
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
+
     private static final Vertx vertx = Vertx.vertx();
 
     @AfterAll
@@ -43,7 +47,7 @@ class VertxPlatformHttpSharedVertxTest {
     void sharedVertxInstanceNotClosed() throws Exception {
         try (CamelContext context = new DefaultCamelContext()) {
             VertxPlatformHttpServerConfiguration configuration = new 
VertxPlatformHttpServerConfiguration();
-            configuration.setBindPort(AvailablePortFinder.getNextAvailable());
+            configuration.setBindPort(port.getPort());
 
             context.getRegistry().bind("vertx", vertx);
             context.addService(new VertxPlatformHttpServer(configuration));
diff --git 
a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpsProxyTest.java
 
b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpsProxyTest.java
index b904706c09a4..7f77878ef0af 100644
--- 
a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpsProxyTest.java
+++ 
b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformHttpsProxyTest.java
@@ -31,6 +31,7 @@ import org.apache.http.conn.ssl.NoopHostnameVerifier;
 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 com.github.tomakehurst.wiremock.client.WireMock.aResponse;
 import static com.github.tomakehurst.wiremock.client.WireMock.get;
@@ -40,17 +41,19 @@ import static io.restassured.RestAssured.given;
 import static org.hamcrest.Matchers.containsString;
 
 public class VertxPlatformHttpsProxyTest {
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
 
-    private final int port = AvailablePortFinder.getNextAvailable();
-    private final WireMockServer wireMockServer = new WireMockServer(
-            options().httpsPort(port)
-                    .httpDisabled(true)
-                    .keystorePath("proxy/keystore.p12")
-                    .keystorePassword("changeit")
-                    .keyManagerPassword("changeit"));
+    private WireMockServer wireMockServer;
 
     @BeforeEach
     void before() {
+        wireMockServer = new WireMockServer(
+                options().httpsPort(port.getPort())
+                        .httpDisabled(true)
+                        .keystorePath("proxy/keystore.p12")
+                        .keystorePassword("changeit")
+                        .keyManagerPassword("changeit"));
         wireMockServer.stubFor(get(urlPathEqualTo("/"))
                 .willReturn(aResponse()
                         .withBody(
@@ -91,7 +94,7 @@ public class VertxPlatformHttpsProxyTest {
 
             // In order to make sure that RestAssured don't perform a CONNECT 
instead of a GET, we do trick with http
             // if we want to do test manually from a terminal we use the real 
HTTPS address
-            final var originURI = "http://localhost:"; + port;
+            final var originURI = "http://localhost:"; + port.getPort();
 
             given()
                     .proxy(proxyURI)
diff --git 
a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformMultipleContentTypeTest.java
 
b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformMultipleContentTypeTest.java
index 2b7055897c62..7f4ba2040c62 100644
--- 
a/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformMultipleContentTypeTest.java
+++ 
b/components/camel-platform-http-vertx/src/test/java/org/apache/camel/component/platform/http/vertx/VertxPlatformMultipleContentTypeTest.java
@@ -30,10 +30,14 @@ import 
org.apache.camel.support.jsse.TrustManagersParameters;
 import org.apache.camel.test.AvailablePortFinder;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.hamcrest.Matchers.is;
 
 public class VertxPlatformMultipleContentTypeTest {
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
+
     public static SSLContextParameters serverSSLParameters;
     public static SSLContextParameters clientSSLParameters;
 
@@ -179,16 +183,15 @@ public class VertxPlatformMultipleContentTypeTest {
         }
     }
 
-    static CamelContext createCamelContext() throws Exception {
+    CamelContext createCamelContext() throws Exception {
         return createCamelContext(null);
     }
 
-    private static CamelContext 
createCamelContext(ServerConfigurationCustomizer customizer) throws Exception {
-        int port = AvailablePortFinder.getNextAvailable();
+    private CamelContext createCamelContext(ServerConfigurationCustomizer 
customizer) throws Exception {
         VertxPlatformHttpServerConfiguration conf = new 
VertxPlatformHttpServerConfiguration();
-        conf.setBindPort(port);
+        conf.setBindPort(port.getPort());
 
-        RestAssured.port = port;
+        RestAssured.port = port.getPort();
 
         if (customizer != null) {
             customizer.customize(conf);
diff --git 
a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/BaseUndertowTest.java
 
b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/BaseUndertowTest.java
index 07b49090ebcb..bdfacce0e34d 100644
--- 
a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/BaseUndertowTest.java
+++ 
b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/BaseUndertowTest.java
@@ -23,29 +23,25 @@ import org.apache.camel.BindToRegistry;
 import org.apache.camel.CamelContext;
 import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
-import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 /**
  * Base class of tests which allocates ports
  */
 public abstract class BaseUndertowTest extends CamelTestSupport {
 
-    private static volatile int port;
-    private static volatile int port2;
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
+    @RegisterExtension
+    AvailablePortFinder.Port port2 = AvailablePortFinder.find();
     private final AtomicInteger counter = new AtomicInteger(1);
 
-    @BeforeAll
-    public static void initPort() {
-        port = AvailablePortFinder.getNextAvailable();
-        port2 = AvailablePortFinder.getNextAvailable();
+    protected int getPort() {
+        return port.getPort();
     }
 
-    protected static int getPort() {
-        return port;
-    }
-
-    protected static int getPort2() {
-        return port2;
+    protected int getPort2() {
+        return port2.getPort();
     }
 
     @Override
@@ -65,10 +61,14 @@ public abstract class BaseUndertowTest extends 
CamelTestSupport {
     }
 
     protected int getNextPort() {
-        return AvailablePortFinder.getNextAvailable();
+        try (AvailablePortFinder.Port p = AvailablePortFinder.find()) {
+            return p.getPort();
+        }
     }
 
     protected int getNextPort(int startWithPort) {
-        return AvailablePortFinder.getNextAvailable();
+        try (AvailablePortFinder.Port p = AvailablePortFinder.find()) {
+            return p.getPort();
+        }
     }
 }
diff --git 
a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/UndertowHttpProducerSessionTest.java
 
b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/UndertowHttpProducerSessionTest.java
index d5852263aa3c..7338c3ce7cdf 100644
--- 
a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/UndertowHttpProducerSessionTest.java
+++ 
b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/UndertowHttpProducerSessionTest.java
@@ -26,11 +26,12 @@ 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.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 public class UndertowHttpProducerSessionTest extends CamelTestSupport {
-    private static volatile int port;
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
 
     @BindToRegistry("instanceCookieHandler")
     private InstanceCookieHandler instanceCookieHandler = new 
InstanceCookieHandler();
@@ -38,11 +39,6 @@ public class UndertowHttpProducerSessionTest extends 
CamelTestSupport {
     @BindToRegistry("exchangeCookieHandler")
     private ExchangeCookieHandler exchangeCookieHandler = new 
ExchangeCookieHandler();
 
-    @BeforeAll
-    public static void initPort() {
-        port = AvailablePortFinder.getNextAvailable();
-    }
-
     @Test
     public void testNoSession() throws Exception {
         getMockEndpoint("mock:result").expectedBodiesReceived("New New World", 
"New New World");
@@ -69,7 +65,7 @@ public class UndertowHttpProducerSessionTest extends 
CamelTestSupport {
 
     private String getTestServerEndpointSessionUrl() {
         // session handling will not work for localhost
-        return "http://127.0.0.1:"; + port + "/session";
+        return "http://127.0.0.1:"; + port.getPort() + "/session";
     }
 
     private String getTestServerEndpointSessionUri() {
diff --git 
a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/UndertowMethodRestricTest.java
 
b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/UndertowMethodRestricTest.java
index bccbd4ae01d2..3ec6a5a9581d 100644
--- 
a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/UndertowMethodRestricTest.java
+++ 
b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/UndertowMethodRestricTest.java
@@ -25,17 +25,17 @@ import 
org.apache.hc.client5.http.impl.classic.CloseableHttpResponse;
 import org.apache.hc.client5.http.impl.classic.HttpClients;
 import org.apache.hc.core5.http.io.entity.EntityUtils;
 import org.apache.hc.core5.http.io.entity.StringEntity;
-import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class UndertowMethodRestricTest extends BaseUndertowTest {
 
-    private static String url;
+    private String url;
 
-    @BeforeAll
-    public static void init() {
+    @BeforeEach
+    public void init() {
         url = "http://localhost:"; + getPort() + "/methodRestrict";
     }
 

Reply via email to