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

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


The following commit(s) were added to refs/heads/main by this push:
     new 2803da2ef94e CAMEL-23214: Migrate AvailablePortFinder in camel-thrift, 
camel-cometd, camel-syslog tests (#22126)
2803da2ef94e is described below

commit 2803da2ef94e39b4db1764040f80d3a024801c9e
Author: Guillaume Nodet <[email protected]>
AuthorDate: Fri Mar 20 09:49:23 2026 +0100

    CAMEL-23214: Migrate AvailablePortFinder in camel-thrift, camel-cometd, 
camel-syslog tests (#22126)
    
    * CAMEL-23214: Migrate AvailablePortFinder in camel-thrift, camel-cometd, 
and camel-syslog tests
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
    
    * CAMEL-23214: Fix port migration in camel-thrift/cometd/syslog tests
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
    
    ---------
    
    Co-authored-by: Claude Opus 4.6 <[email protected]>
---
 .../CometdProducerConsumerAuthenticatedTest.java   |  9 +++---
 .../CometdProducerConsumerExtensionTest.java       | 18 ++++++------
 .../cometd/CometdProducerConsumerInOutTest.java    | 18 ++++++------
 .../CometdProducerConsumerInteractiveTest.java     | 14 ++++-----
 .../cometd/CometdProducerConsumerTest.java         |  9 +++---
 .../cometd/MultipCometdProducerConsumerTest.java   | 13 +++++----
 .../cometd/SslCometdProducerConsumerTest.java      |  7 +++--
 ...ontextParametersCometdProducerConsumerTest.java |  7 +++--
 ...tParametersInUriCometdProducerConsumerTest.java |  7 +++--
 ...ontextParametersCometdProducerConsumerTest.java |  7 +++--
 .../component/syslog/AutomatedConversionTest.java  | 16 ++++------
 .../camel/component/syslog/MinaDataFormatTest.java | 14 ++++-----
 .../component/syslog/MinaManyUDPMessagesTest.java  | 14 ++++-----
 .../component/syslog/NettyDataFormatTest.java      | 18 +++++-------
 .../component/syslog/NettyManyUDPMessagesTest.java | 15 ++++------
 .../syslog/NettyRfc5425LongMessageTest.java        | 14 ++++-----
 .../camel/component/syslog/NettyRfc5425Test.java   | 18 +++++-------
 .../component/syslog/SyslogSpringMinaTest.java     | 18 ++++++------
 .../component/syslog/SyslogSpringNettyTest.java    | 18 ++++++------
 .../component/thrift/ThriftConsumerAsyncTest.java  | 13 +++++----
 .../thrift/ThriftConsumerConcurrentTest.java       | 15 ++++++----
 .../thrift/ThriftConsumerSecurityTest.java         | 13 +++++----
 .../component/thrift/ThriftConsumerSyncTest.java   | 12 ++++----
 .../thrift/ThriftConsumerZlibCompressionTest.java  | 12 ++++----
 .../component/thrift/ThriftProducerBaseTest.java   | 22 +++++++-------
 .../thrift/ThriftProducerSecurityTest.java         | 34 +++++++++++-----------
 .../component/thrift/ThriftProducerSyncTest.java   | 12 ++++----
 .../thrift/ThriftProducerZlibCompressionTest.java  | 28 +++++++++---------
 .../thrift/local/ThriftThreadPoolServerTest.java   | 20 +++++++------
 29 files changed, 216 insertions(+), 219 deletions(-)

diff --git 
a/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/CometdProducerConsumerAuthenticatedTest.java
 
b/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/CometdProducerConsumerAuthenticatedTest.java
index 741fc5b70c7a..a652ca09534c 100644
--- 
a/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/CometdProducerConsumerAuthenticatedTest.java
+++ 
b/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/CometdProducerConsumerAuthenticatedTest.java
@@ -34,13 +34,15 @@ import 
org.cometd.client.http.jetty.JettyHttpClientTransport;
 import org.cometd.server.DefaultSecurityPolicy;
 import org.eclipse.jetty.client.HttpClient;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class CometdProducerConsumerAuthenticatedTest extends CamelTestSupport {
 
-    private int port;
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
     private String uri;
 
     @Test
@@ -90,7 +92,7 @@ public class CometdProducerConsumerAuthenticatedTest extends 
CamelTestSupport {
     }
 
     private BayeuxClient createRemoteClient(HttpClient httpClient, String 
user, String credentials) {
-        String url = "http://127.0.0.1:"; + port + "/cometd";
+        String url = "http://127.0.0.1:"; + port.getPort() + "/cometd";
         BayeuxClient client = new BayeuxClient(url, new 
JettyHttpClientTransport(null, httpClient));
         client.addExtension(new ClientSession.Extension() {
             @Override
@@ -110,8 +112,7 @@ public class CometdProducerConsumerAuthenticatedTest 
extends CamelTestSupport {
 
     @Override
     public void setupResources() {
-        port = AvailablePortFinder.getNextAvailable();
-        uri = "cometd://127.0.0.1:" + port + 
"/service/test?baseResource=file:./target/test-classes/webapp&"
+        uri = "cometd://127.0.0.1:" + port.getPort() + 
"/service/test?baseResource=file:./target/test-classes/webapp&"
               + 
"timeout=240000&interval=0&maxInterval=30000&multiFrameInterval=1500&jsonCommented=true&logLevel=2";
     }
 
diff --git 
a/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/CometdProducerConsumerExtensionTest.java
 
b/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/CometdProducerConsumerExtensionTest.java
index dae16aab5d14..416eb4b24327 100644
--- 
a/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/CometdProducerConsumerExtensionTest.java
+++ 
b/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/CometdProducerConsumerExtensionTest.java
@@ -37,16 +37,18 @@ import 
org.cometd.client.http.jetty.JettyHttpClientTransport;
 import org.eclipse.jetty.client.HttpClient;
 import org.eclipse.jetty.util.ssl.SslContextFactory;
 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.assertTrue;
 
 public class CometdProducerConsumerExtensionTest extends CamelTestSupport {
 
-    private int port;
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
+    @RegisterExtension
+    AvailablePortFinder.Port portSSL = AvailablePortFinder.find();
     private String uri;
-
-    private int portSSL;
     private String uriSSL;
 
     private String pwd = "changeit";
@@ -60,7 +62,7 @@ public class CometdProducerConsumerExtensionTest extends 
CamelTestSupport {
         httpClient.start();
         try {
             BayeuxClient client = new BayeuxClient(
-                    "http://127.0.0.1:"; + port + "/cometd", new 
JettyHttpClientTransport(null, httpClient));
+                    "http://127.0.0.1:"; + port.getPort() + "/cometd", new 
JettyHttpClientTransport(null, httpClient));
             client.handshake();
             assertTrue(client.waitFor(5000, BayeuxClient.State.CONNECTED));
 
@@ -105,7 +107,7 @@ public class CometdProducerConsumerExtensionTest extends 
CamelTestSupport {
         httpClient.start();
         try {
             BayeuxClient client = new BayeuxClient(
-                    "https://localhost:"; + portSSL + "/cometd", new 
JettyHttpClientTransport(null, httpClient));
+                    "https://localhost:"; + portSSL.getPort() + "/cometd", new 
JettyHttpClientTransport(null, httpClient));
             client.handshake();
             assertTrue(client.waitFor(5000, BayeuxClient.State.CONNECTED));
 
@@ -135,12 +137,10 @@ public class CometdProducerConsumerExtensionTest extends 
CamelTestSupport {
 
     @Override
     public void setupResources() {
-        port = AvailablePortFinder.getNextAvailable();
-        uri = "cometd://127.0.0.1:" + port + 
"/channel/test?baseResource=file:./target/test-classes/webapp&"
+        uri = "cometd://127.0.0.1:" + port.getPort() + 
"/channel/test?baseResource=file:./target/test-classes/webapp&"
               + 
"timeout=240000&interval=0&maxInterval=30000&multiFrameInterval=1500&jsonCommented=true&logLevel=2";
 
-        portSSL = AvailablePortFinder.getNextAvailable();
-        uriSSL = "cometds://127.0.0.1:" + portSSL + 
"/channel/test?baseResource=file:./target/test-classes/webapp&"
+        uriSSL = "cometds://127.0.0.1:" + portSSL.getPort() + 
"/channel/test?baseResource=file:./target/test-classes/webapp&"
                  + 
"timeout=240000&interval=0&maxInterval=30000&multiFrameInterval=1500&jsonCommented=true&logLevel=2";
     }
 
diff --git 
a/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/CometdProducerConsumerInOutTest.java
 
b/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/CometdProducerConsumerInOutTest.java
index eacad4dbd6cf..017d74fc6525 100644
--- 
a/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/CometdProducerConsumerInOutTest.java
+++ 
b/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/CometdProducerConsumerInOutTest.java
@@ -32,16 +32,18 @@ import 
org.cometd.client.http.jetty.JettyHttpClientTransport;
 import org.eclipse.jetty.client.HttpClient;
 import org.eclipse.jetty.util.ssl.SslContextFactory;
 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.assertTrue;
 
 public class CometdProducerConsumerInOutTest extends CamelTestSupport {
 
-    private int port;
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
+    @RegisterExtension
+    AvailablePortFinder.Port portSSL = AvailablePortFinder.find();
     private String uri;
-
-    private int portSSL;
     private String uriSSL;
 
     private String pwd = "changeit";
@@ -54,7 +56,7 @@ public class CometdProducerConsumerInOutTest extends 
CamelTestSupport {
         HttpClient httpClient = new HttpClient();
         httpClient.start();
         try {
-            String bayeuxUrl = "http://127.0.0.1:"; + port + "/cometd";
+            String bayeuxUrl = "http://127.0.0.1:"; + port.getPort() + 
"/cometd";
             BayeuxClient client = new BayeuxClient(bayeuxUrl, new 
JettyHttpClientTransport(null, httpClient));
             client.handshake();
             assertTrue(client.waitFor(5000, BayeuxClient.State.CONNECTED));
@@ -91,7 +93,7 @@ public class CometdProducerConsumerInOutTest extends 
CamelTestSupport {
         httpClient.start();
         try {
             // Use localhost to match the CN in localhost.p12 and endpoint is 
still /cometd as this is the only path added to servlet
-            String bayeuxUrl = "https://localhost:"; + portSSL + "/cometd";
+            String bayeuxUrl = "https://localhost:"; + portSSL.getPort() + 
"/cometd";
             BayeuxClient client = new BayeuxClient(bayeuxUrl, new 
JettyHttpClientTransport(null, httpClient));
             client.handshake();
             assertTrue(client.waitFor(5000, BayeuxClient.State.CONNECTED));
@@ -115,13 +117,11 @@ public class CometdProducerConsumerInOutTest extends 
CamelTestSupport {
 
     @Override
     public void setupResources() {
-        port = AvailablePortFinder.getNextAvailable();
-        uri = "cometd://127.0.0.1:" + port + 
"/service/test?baseResource=file:./target/test-classes/webapp&"
+        uri = "cometd://127.0.0.1:" + port.getPort() + 
"/service/test?baseResource=file:./target/test-classes/webapp&"
               + 
"timeout=240000&interval=0&maxInterval=30000&multiFrameInterval=1500&jsonCommented=true&logLevel=2";
 
-        portSSL = AvailablePortFinder.getNextAvailable();
         //cometds protocal to start getSslSocketConnector
-        uriSSL = "cometds://127.0.0.1:" + portSSL + 
"/service/test?baseResource=file:./target/test-classes/webapp&"
+        uriSSL = "cometds://127.0.0.1:" + portSSL.getPort() + 
"/service/test?baseResource=file:./target/test-classes/webapp&"
                  + 
"timeout=240000&interval=0&maxInterval=30000&multiFrameInterval=1500&jsonCommented=true&logLevel=2";
     }
 
diff --git 
a/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/CometdProducerConsumerInteractiveTest.java
 
b/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/CometdProducerConsumerInteractiveTest.java
index ce3cab6da861..9fd63f96d266 100644
--- 
a/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/CometdProducerConsumerInteractiveTest.java
+++ 
b/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/CometdProducerConsumerInteractiveTest.java
@@ -23,13 +23,15 @@ 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;
 
 public class CometdProducerConsumerInteractiveTest extends CamelTestSupport {
 
-    private int port;
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
+    @RegisterExtension
+    AvailablePortFinder.Port portSSL = AvailablePortFinder.find();
     private String uri;
-
-    private int portSSL;
     private String uriSSL;
 
     private final String pwd = "changeit";
@@ -44,12 +46,10 @@ public class CometdProducerConsumerInteractiveTest extends 
CamelTestSupport {
 
     @Override
     public void setupResources() {
-        port = AvailablePortFinder.getNextAvailable();
-        uri = "cometd://127.0.0.1:" + port + 
"/channel/test?baseResource=file:./src/test/resources/webapp&"
+        uri = "cometd://127.0.0.1:" + port.getPort() + 
"/channel/test?baseResource=file:./src/test/resources/webapp&"
               + 
"timeout=240000&interval=0&maxInterval=30000&multiFrameInterval=1500&jsonCommented=true&logLevel=2";
 
-        portSSL = AvailablePortFinder.getNextAvailable();
-        uriSSL = "cometds://127.0.0.1:" + portSSL + 
"/channel/test?baseResource=file:./src/test/resources/webapp&"
+        uriSSL = "cometds://127.0.0.1:" + portSSL.getPort() + 
"/channel/test?baseResource=file:./src/test/resources/webapp&"
                  + 
"timeout=240000&interval=0&maxInterval=30000&multiFrameInterval=1500&jsonCommented=true&logLevel=2";
     }
 
diff --git 
a/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/CometdProducerConsumerTest.java
 
b/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/CometdProducerConsumerTest.java
index a746a792c8d3..0bb4aa11445a 100644
--- 
a/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/CometdProducerConsumerTest.java
+++ 
b/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/CometdProducerConsumerTest.java
@@ -31,6 +31,7 @@ import org.cometd.bayeux.server.ServerChannel;
 import org.cometd.bayeux.server.ServerMessage;
 import org.cometd.bayeux.server.ServerSession;
 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;
@@ -42,7 +43,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 public class CometdProducerConsumerTest extends CamelTestSupport {
 
     private static final String SHOOKHANDS_SESSION_HEADER = "Shookhands";
-    private int port;
+    @RegisterExtension
+    AvailablePortFinder.Port portField = AvailablePortFinder.find();
     private String uri;
 
     @Test
@@ -90,7 +92,7 @@ public class CometdProducerConsumerTest extends 
CamelTestSupport {
         // act
         Endpoint result = component
                 .createEndpoint("cometd://127.0.0.1:"
-                                + port
+                                + portField.getPort()
                                 + 
"/service/testArgs?baseResource=file:./target/test-classes/webapp&"
                                 + 
"timeout=240000&interval=0&maxInterval=30000&multiFrameInterval=1500&jsonCommented=true&sessionHeadersEnabled=true&logLevel=2");
 
@@ -117,8 +119,7 @@ public class CometdProducerConsumerTest extends 
CamelTestSupport {
 
     @Override
     public void doPreSetup() {
-        port = AvailablePortFinder.getNextAvailable();
-        uri = "cometd://127.0.0.1:" + port + 
"/service/test?baseResource=file:./target/test-classes/webapp&"
+        uri = "cometd://127.0.0.1:" + portField.getPort() + 
"/service/test?baseResource=file:./target/test-classes/webapp&"
               + 
"timeout=240000&interval=0&maxInterval=30000&multiFrameInterval=1500&jsonCommented=true&sessionHeadersEnabled=true&logLevel=2";
     }
 
diff --git 
a/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/MultipCometdProducerConsumerTest.java
 
b/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/MultipCometdProducerConsumerTest.java
index 64b9458c3339..aad20e04d7f5 100644
--- 
a/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/MultipCometdProducerConsumerTest.java
+++ 
b/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/MultipCometdProducerConsumerTest.java
@@ -21,15 +21,18 @@ 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;
 
 /**
  * Unit testing for using a CometdProducer and a CometdConsumer
  */
 public class MultipCometdProducerConsumerTest extends CamelTestSupport {
 
-    private int port1;
+    @RegisterExtension
+    AvailablePortFinder.Port port1 = AvailablePortFinder.find();
+    @RegisterExtension
+    AvailablePortFinder.Port port2 = AvailablePortFinder.find();
     private String uri1;
-    private int port2;
     private String uri2;
 
     @Test
@@ -48,12 +51,10 @@ public class MultipCometdProducerConsumerTest extends 
CamelTestSupport {
 
     @Override
     public void doPreSetup() {
-        port1 = AvailablePortFinder.getNextAvailable();
-        port2 = AvailablePortFinder.getNextAvailable();
-        uri1 = "cometd://127.0.0.1:" + port1 + 
"/service/test?baseResource=file:./target/test-classes/webapp&"
+        uri1 = "cometd://127.0.0.1:" + port1.getPort() + 
"/service/test?baseResource=file:./target/test-classes/webapp&"
                + 
"timeout=240000&interval=0&maxInterval=30000&multiFrameInterval=1500&jsonCommented=true&logLevel=2";
 
-        uri2 = "cometd://127.0.0.1:" + port2 + 
"/service/test?baseResource=file:./target/test-classes/webapp&"
+        uri2 = "cometd://127.0.0.1:" + port2.getPort() + 
"/service/test?baseResource=file:./target/test-classes/webapp&"
                + 
"timeout=240000&interval=0&maxInterval=30000&multiFrameInterval=1500&jsonCommented=true&logLevel=2";
     }
 
diff --git 
a/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/SslCometdProducerConsumerTest.java
 
b/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/SslCometdProducerConsumerTest.java
index a3e02aa5442c..fc61172d1ef1 100644
--- 
a/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/SslCometdProducerConsumerTest.java
+++ 
b/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/SslCometdProducerConsumerTest.java
@@ -25,6 +25,7 @@ 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;
 
@@ -33,7 +34,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
  */
 public class SslCometdProducerConsumerTest extends CamelTestSupport {
 
-    private int port;
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
     private String uri;
     private String pwd = "changeit";
 
@@ -52,8 +54,7 @@ public class SslCometdProducerConsumerTest extends 
CamelTestSupport {
 
     @Override
     public void doPreSetup() {
-        port = AvailablePortFinder.getNextAvailable();
-        uri = "cometds://127.0.0.1:" + port + 
"/service/test?baseResource=file:./target/test-classes/webapp&"
+        uri = "cometds://127.0.0.1:" + port.getPort() + 
"/service/test?baseResource=file:./target/test-classes/webapp&"
               + 
"timeout=240000&interval=0&maxInterval=30000&multiFrameInterval=1500&jsonCommented=true&logLevel=2";
     }
 
diff --git 
a/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/SslContextParametersCometdProducerConsumerTest.java
 
b/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/SslContextParametersCometdProducerConsumerTest.java
index 524fea203cf2..93fbe86ae1cc 100644
--- 
a/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/SslContextParametersCometdProducerConsumerTest.java
+++ 
b/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/SslContextParametersCometdProducerConsumerTest.java
@@ -28,6 +28,7 @@ import org.apache.camel.support.jsse.TrustManagersParameters;
 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;
 
@@ -36,7 +37,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
  */
 public class SslContextParametersCometdProducerConsumerTest extends 
CamelTestSupport {
 
-    private int port;
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
     private String uri;
 
     @Test
@@ -54,8 +56,7 @@ public class SslContextParametersCometdProducerConsumerTest 
extends CamelTestSup
 
     @Override
     public void doPreSetup() {
-        port = AvailablePortFinder.getNextAvailable();
-        uri = "cometds://127.0.0.1:" + port + 
"/service/test?baseResource=file:./target/test-classes/webapp&"
+        uri = "cometds://127.0.0.1:" + port.getPort() + 
"/service/test?baseResource=file:./target/test-classes/webapp&"
               + 
"timeout=240000&interval=0&maxInterval=30000&multiFrameInterval=1500&jsonCommented=true&logLevel=2";
     }
 
diff --git 
a/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/SslContextParametersInUriCometdProducerConsumerTest.java
 
b/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/SslContextParametersInUriCometdProducerConsumerTest.java
index 3aebac0889a4..45fb7d3bf987 100644
--- 
a/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/SslContextParametersInUriCometdProducerConsumerTest.java
+++ 
b/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/SslContextParametersInUriCometdProducerConsumerTest.java
@@ -29,6 +29,7 @@ import org.apache.camel.support.jsse.TrustManagersParameters;
 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;
 
@@ -37,7 +38,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
  */
 public class SslContextParametersInUriCometdProducerConsumerTest extends 
CamelTestSupport {
 
-    private int port;
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
     private String uri;
 
     @BindToRegistry("sslContextParameters")
@@ -75,8 +77,7 @@ public class 
SslContextParametersInUriCometdProducerConsumerTest extends CamelTe
 
     @Override
     public void doPreSetup() {
-        port = AvailablePortFinder.getNextAvailable();
-        uri = "cometds://127.0.0.1:" + port + 
"/service/test?baseResource=file:./target/test-classes/webapp&"
+        uri = "cometds://127.0.0.1:" + port.getPort() + 
"/service/test?baseResource=file:./target/test-classes/webapp&"
               + 
"timeout=240000&interval=0&maxInterval=30000&multiFrameInterval=1500&jsonCommented=true&logLevel=2";
     }
 
diff --git 
a/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/SslGlobalContextParametersCometdProducerConsumerTest.java
 
b/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/SslGlobalContextParametersCometdProducerConsumerTest.java
index 958aedbc31ca..9031abe75567 100644
--- 
a/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/SslGlobalContextParametersCometdProducerConsumerTest.java
+++ 
b/components/camel-cometd/src/test/java/org/apache/camel/component/cometd/SslGlobalContextParametersCometdProducerConsumerTest.java
@@ -30,6 +30,7 @@ import org.apache.camel.support.jsse.TrustManagersParameters;
 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;
 
@@ -38,7 +39,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
  */
 public class SslGlobalContextParametersCometdProducerConsumerTest extends 
CamelTestSupport {
 
-    private int port;
+    @RegisterExtension
+    AvailablePortFinder.Port port = AvailablePortFinder.find();
     private String uri;
 
     @Test
@@ -56,8 +58,7 @@ public class 
SslGlobalContextParametersCometdProducerConsumerTest extends CamelT
 
     @Override
     public void doPreSetup() {
-        port = AvailablePortFinder.getNextAvailable();
-        uri = "cometds://127.0.0.1:" + port + 
"/service/test?baseResource=file:./target/test-classes/webapp&"
+        uri = "cometds://127.0.0.1:" + port.getPort() + 
"/service/test?baseResource=file:./target/test-classes/webapp&"
               + 
"timeout=240000&interval=0&maxInterval=30000&multiFrameInterval=1500&jsonCommented=true&logLevel=2";
     }
 
diff --git 
a/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/AutomatedConversionTest.java
 
b/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/AutomatedConversionTest.java
index 83470c21bd99..06f732b60a77 100644
--- 
a/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/AutomatedConversionTest.java
+++ 
b/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/AutomatedConversionTest.java
@@ -27,14 +27,15 @@ import org.apache.camel.builder.RouteBuilder;
 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.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class AutomatedConversionTest extends CamelTestSupport {
 
-    private static int serverPort;
+    @RegisterExtension
+    AvailablePortFinder.Port serverPort = AvailablePortFinder.find();
     private final int messageCount = 1;
     private final String rfc3164Message
             = "<165>Aug  4 05:34:00 mymachine myproc[10]: %% It's\n         
time to make the do-nuts.  %%  Ingredients: Mix=OK, Jelly=OK #\n"
@@ -43,11 +44,6 @@ public class AutomatedConversionTest extends 
CamelTestSupport {
     private final String rfc5424Message
             = "<34>1 2003-10-11T22:14:15.003Z mymachine.example.com su - ID47 
- BOM'su root' failed for lonvick on /dev/pts/8";
 
-    @BeforeAll
-    public static void initPort() {
-        serverPort = AvailablePortFinder.getNextAvailable();
-    }
-
     @Test
     public void testSendingRawUDP() throws IOException, InterruptedException {
 
@@ -62,13 +58,13 @@ public class AutomatedConversionTest extends 
CamelTestSupport {
             InetAddress address = InetAddress.getByName("127.0.0.1");
             for (int i = 0; i < messageCount; i++) {
                 byte[] data = rfc3164Message.getBytes();
-                DatagramPacket packet = new DatagramPacket(data, data.length, 
address, serverPort);
+                DatagramPacket packet = new DatagramPacket(data, data.length, 
address, serverPort.getPort());
                 socket.send(packet);
                 Thread.sleep(100);
             }
             for (int i = 0; i < messageCount; i++) {
                 byte[] data = rfc5424Message.getBytes();
-                DatagramPacket packet = new DatagramPacket(data, data.length, 
address, serverPort);
+                DatagramPacket packet = new DatagramPacket(data, data.length, 
address, serverPort.getPort());
                 socket.send(packet);
                 Thread.sleep(100);
             }
@@ -85,7 +81,7 @@ public class AutomatedConversionTest extends CamelTestSupport 
{
             @Override
             public void configure() {
                 // we setup a Syslog listener on a random port.
-                from("mina:udp://127.0.0.1:" + 
serverPort).unmarshal().syslog().process(new Processor() {
+                from("mina:udp://127.0.0.1:" + 
serverPort.getPort()).unmarshal().syslog().process(new Processor() {
                     @Override
                     public void process(Exchange ex) {
                         assertTrue(ex.getIn().getBody() instanceof 
SyslogMessage);
diff --git 
a/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/MinaDataFormatTest.java
 
b/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/MinaDataFormatTest.java
index 2f8af0c01623..837a010eed8b 100644
--- 
a/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/MinaDataFormatTest.java
+++ 
b/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/MinaDataFormatTest.java
@@ -28,25 +28,21 @@ import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.spi.DataFormat;
 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;
 
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class MinaDataFormatTest extends CamelTestSupport {
 
-    private static int serverPort;
+    @RegisterExtension
+    AvailablePortFinder.Port serverPort = AvailablePortFinder.find();
     private final int messageCount = 1;
     private final String message
             = "<165>Aug  4 05:34:00 mymachine myproc[10]: %% It's\n         
time to make the do-nuts.  %%  Ingredients: Mix=OK, Jelly=OK #\n"
               + "         Devices: Mixer=OK, Jelly_Injector=OK, Frier=OK # 
Transport:\n"
               + "         Conveyer1=OK, Conveyer2=OK # %%";
 
-    @BeforeAll
-    public static void initPort() {
-        serverPort = AvailablePortFinder.getNextAvailable();
-    }
-
     @Test
     public void testSendingRawUDP() throws IOException, InterruptedException {
 
@@ -63,7 +59,7 @@ public class MinaDataFormatTest extends CamelTestSupport {
 
                 byte[] data = message.getBytes();
 
-                DatagramPacket packet = new DatagramPacket(data, data.length, 
address, serverPort);
+                DatagramPacket packet = new DatagramPacket(data, data.length, 
address, serverPort.getPort());
                 socket.send(packet);
                 Thread.sleep(100);
             }
@@ -83,7 +79,7 @@ public class MinaDataFormatTest extends CamelTestSupport {
                 DataFormat syslogDataFormat = new SyslogDataFormat();
 
                 // we setup a Syslog  listener on a random port.
-                from("mina:udp://127.0.0.1:" + 
serverPort).unmarshal(syslogDataFormat).process(new Processor() {
+                from("mina:udp://127.0.0.1:" + 
serverPort.getPort()).unmarshal(syslogDataFormat).process(new Processor() {
                     public void process(Exchange ex) {
                         assertTrue(ex.getIn().getBody() instanceof 
SyslogMessage);
                     }
diff --git 
a/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/MinaManyUDPMessagesTest.java
 
b/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/MinaManyUDPMessagesTest.java
index d95b211ebd63..b30d6dab44a2 100644
--- 
a/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/MinaManyUDPMessagesTest.java
+++ 
b/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/MinaManyUDPMessagesTest.java
@@ -27,25 +27,21 @@ import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.spi.DataFormat;
 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;
 
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class MinaManyUDPMessagesTest extends CamelTestSupport {
 
-    private static int serverPort;
+    @RegisterExtension
+    AvailablePortFinder.Port serverPort = AvailablePortFinder.find();
     private final int messageCount = 100;
     private final String message
             = "<165>Aug  4 05:34:00 mymachine myproc[10]: %% It's\n         
time to make the do-nuts.  %%  Ingredients: Mix=OK, Jelly=OK #\n"
               + "         Devices: Mixer=OK, Jelly_Injector=OK, Frier=OK # 
Transport:\n"
               + "         Conveyer1=OK, Conveyer2=OK # %%";
 
-    @BeforeAll
-    public static void initPort() {
-        serverPort = AvailablePortFinder.getNextAvailable();
-    }
-
     @Test
     public void testSendingManyMessages() throws Exception {
         MockEndpoint stop1 = getMockEndpoint("mock:stop1");
@@ -60,7 +56,7 @@ public class MinaManyUDPMessagesTest extends CamelTestSupport 
{
 
                 byte[] data = message.getBytes();
 
-                DatagramPacket packet = new DatagramPacket(data, data.length, 
address, serverPort);
+                DatagramPacket packet = new DatagramPacket(data, data.length, 
address, serverPort.getPort());
                 socket.send(packet);
                 Thread.sleep(100);
             }
@@ -80,7 +76,7 @@ public class MinaManyUDPMessagesTest extends CamelTestSupport 
{
                 DataFormat syslogDataFormat = new SyslogDataFormat();
 
                 // we setup a Syslog  listener on a random port.
-                from("mina:udp://127.0.0.1:" + 
serverPort).unmarshal(syslogDataFormat).process(new Processor() {
+                from("mina:udp://127.0.0.1:" + 
serverPort.getPort()).unmarshal(syslogDataFormat).process(new Processor() {
                     public void process(Exchange ex) {
                         assertTrue(ex.getIn().getBody() instanceof 
SyslogMessage);
                     }
diff --git 
a/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/NettyDataFormatTest.java
 
b/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/NettyDataFormatTest.java
index ea26bc6c41d7..3d04a96466af 100644
--- 
a/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/NettyDataFormatTest.java
+++ 
b/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/NettyDataFormatTest.java
@@ -28,25 +28,21 @@ import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.spi.DataFormat;
 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;
 
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class NettyDataFormatTest extends CamelTestSupport {
 
-    private static int serverPort;
+    @RegisterExtension
+    AvailablePortFinder.Port serverPort = AvailablePortFinder.find();
     private final int messageCount = 1;
     private final String message
             = "<165>Aug  4 05:34:00 mymachine myproc[10]: %% It's\n         
time to make the do-nuts.  %%  Ingredients: Mix=OK, Jelly=OK #\n"
               + "         Devices: Mixer=OK, Jelly_Injector=OK, Frier=OK # 
Transport:\n"
               + "         Conveyer1=OK, Conveyer2=OK # %%";
 
-    @BeforeAll
-    public static void initPort() {
-        serverPort = AvailablePortFinder.getNextAvailable();
-    }
-
     @Test
     public void testSendingRawUDP() throws IOException, InterruptedException {
 
@@ -63,7 +59,7 @@ public class NettyDataFormatTest extends CamelTestSupport {
 
                 byte[] data = message.getBytes();
 
-                DatagramPacket packet = new DatagramPacket(data, data.length, 
address, serverPort);
+                DatagramPacket packet = new DatagramPacket(data, data.length, 
address, serverPort.getPort());
                 socket.send(packet);
                 Thread.sleep(100);
             }
@@ -83,7 +79,8 @@ public class NettyDataFormatTest extends CamelTestSupport {
         mock2.expectedMessageCount(1);
         mock2.expectedBodiesReceived(message);
 
-        template.sendBody("netty:udp://127.0.0.1:" + serverPort + 
"?sync=false&allowDefaultCodec=false&useByteBuf=true",
+        template.sendBody(
+                "netty:udp://127.0.0.1:" + serverPort.getPort() + 
"?sync=false&allowDefaultCodec=false&useByteBuf=true",
                 message);
 
         MockEndpoint.assertIsSatisfied(context);
@@ -98,7 +95,8 @@ public class NettyDataFormatTest extends CamelTestSupport {
                 DataFormat syslogDataFormat = new SyslogDataFormat();
 
                 // we setup a Syslog  listener on a random port.
-                from("netty:udp://127.0.0.1:" + serverPort + 
"?sync=false&allowDefaultCodec=false").unmarshal(syslogDataFormat)
+                from("netty:udp://127.0.0.1:" + serverPort.getPort() + 
"?sync=false&allowDefaultCodec=false")
+                        .unmarshal(syslogDataFormat)
                         .process(new Processor() {
                             public void process(Exchange ex) {
                                 assertTrue(ex.getIn().getBody() instanceof 
SyslogMessage);
diff --git 
a/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/NettyManyUDPMessagesTest.java
 
b/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/NettyManyUDPMessagesTest.java
index 09bbb6b45955..084d4d962be2 100644
--- 
a/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/NettyManyUDPMessagesTest.java
+++ 
b/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/NettyManyUDPMessagesTest.java
@@ -27,25 +27,21 @@ import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.spi.DataFormat;
 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;
 
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class NettyManyUDPMessagesTest extends CamelTestSupport {
 
-    private static int serverPort;
+    @RegisterExtension
+    AvailablePortFinder.Port serverPort = AvailablePortFinder.find();
     private final int messageCount = 100;
     private final String message
             = "<165>Aug  4 05:34:00 mymachine myproc[10]: %% It's\n         
time to make the do-nuts.  %%  Ingredients: Mix=OK, Jelly=OK #\n"
               + "         Devices: Mixer=OK, Jelly_Injector=OK, Frier=OK # 
Transport:\n"
               + "         Conveyer1=OK, Conveyer2=OK # %%";
 
-    @BeforeAll
-    public static void initPort() {
-        serverPort = AvailablePortFinder.getNextAvailable();
-    }
-
     @Test
     public void testSendingManyMessages() throws Exception {
         MockEndpoint stop1 = getMockEndpoint("mock:stop1");
@@ -60,7 +56,7 @@ public class NettyManyUDPMessagesTest extends 
CamelTestSupport {
 
                 byte[] data = message.getBytes();
 
-                DatagramPacket packet = new DatagramPacket(data, data.length, 
address, serverPort);
+                DatagramPacket packet = new DatagramPacket(data, data.length, 
address, serverPort.getPort());
                 socket.send(packet);
                 Thread.sleep(100);
             }
@@ -80,7 +76,8 @@ public class NettyManyUDPMessagesTest extends 
CamelTestSupport {
                 DataFormat syslogDataFormat = new SyslogDataFormat();
 
                 // we setup a Syslog  listener on a random port.
-                from("netty:udp://127.0.0.1:" + serverPort + 
"?sync=false&allowDefaultCodec=false").unmarshal(syslogDataFormat)
+                from("netty:udp://127.0.0.1:" + serverPort.getPort() + 
"?sync=false&allowDefaultCodec=false")
+                        .unmarshal(syslogDataFormat)
                         .process(new Processor() {
                             public void process(Exchange ex) {
                                 assertTrue(ex.getIn().getBody() instanceof 
SyslogMessage);
diff --git 
a/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/NettyRfc5425LongMessageTest.java
 
b/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/NettyRfc5425LongMessageTest.java
index 1738732f8192..3cbbb7c55fb8 100644
--- 
a/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/NettyRfc5425LongMessageTest.java
+++ 
b/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/NettyRfc5425LongMessageTest.java
@@ -28,15 +28,15 @@ import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.Registry;
 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;
 
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class NettyRfc5425LongMessageTest extends CamelTestSupport {
 
-    private static String uri;
-    private static int serverPort;
+    @RegisterExtension
+    AvailablePortFinder.Port serverPort = AvailablePortFinder.find();
     private static final String MESSAGE = "<34>1 2003-10-11T22:14:15.003Z 
mymachine.example.com su - ID47 - "
                                           + "Lorem ipsum dolor sit amet, 
tempor democritum vix ad, est partiendo laboramus ei. "
                                           + "Munere laudem commune vis ad, et 
qui altera singulis. Ut assum deleniti sit, vix constituto assueverit 
appellantur at, et meis voluptua usu. "
@@ -55,12 +55,6 @@ public class NettyRfc5425LongMessageTest extends 
CamelTestSupport {
     @BindToRegistry("encoder")
     private Rfc5425Encoder encoder = new Rfc5425Encoder();
 
-    @BeforeAll
-    public static void initPort() {
-        serverPort = AvailablePortFinder.getNextAvailable();
-        uri = "netty:tcp://localhost:" + serverPort + 
"?sync=false&allowDefaultCodec=false&decoders=#decoder&encoders=#encoder";
-    }
-
     @Test
     public void testSendingCamel() throws Exception {
 
@@ -84,6 +78,8 @@ public class NettyRfc5425LongMessageTest extends 
CamelTestSupport {
             public void configure() {
                 context.setTracing(true);
                 DataFormat syslogDataFormat = new SyslogDataFormat();
+                String uri = "netty:tcp://localhost:" + serverPort.getPort()
+                             + 
"?sync=false&allowDefaultCodec=false&decoders=#decoder&encoders=#encoder";
 
                 // we setup a Syslog listener on a random port.
                 from(uri).unmarshal(syslogDataFormat).process(new Processor() {
diff --git 
a/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/NettyRfc5425Test.java
 
b/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/NettyRfc5425Test.java
index b21b3826bc49..a2f92c7d43f6 100644
--- 
a/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/NettyRfc5425Test.java
+++ 
b/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/NettyRfc5425Test.java
@@ -27,17 +27,16 @@ import org.apache.camel.spi.DataFormat;
 import org.apache.camel.spi.Registry;
 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;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class NettyRfc5425Test extends CamelTestSupport {
 
-    private static String uri;
-    private static String uriClient;
-    private static int serverPort;
+    @RegisterExtension
+    AvailablePortFinder.Port serverPort = AvailablePortFinder.find();
     private final String rfc3164Message
             = "<165>Aug  4 05:34:00 mymachine myproc[10]: %% It's\n         
time to make the do-nuts.  %%  Ingredients: Mix=OK, Jelly=OK #\n"
               + "         Devices: Mixer=OK, Jelly_Injector=OK, Frier=OK # 
Transport:\n"
@@ -52,13 +51,6 @@ public class NettyRfc5425Test extends CamelTestSupport {
     @BindToRegistry("encoder")
     private Rfc5425Encoder encoder = new Rfc5425Encoder();
 
-    @BeforeAll
-    public static void initPort() {
-        serverPort = AvailablePortFinder.getNextAvailable();
-        uri = "netty:tcp://localhost:" + serverPort + 
"?sync=false&allowDefaultCodec=false&decoders=#decoder&encoders=#encoder";
-        uriClient = uri + "&useByteBuf=true";
-    }
-
     @Test
     public void testSendingCamel() throws Exception {
 
@@ -68,6 +60,8 @@ public class NettyRfc5425Test extends CamelTestSupport {
         mock2.expectedMessageCount(2);
         mock2.expectedBodiesReceived(rfc3164Message, rfc5424Message);
 
+        String uriClient = "netty:tcp://localhost:" + serverPort.getPort()
+                           + 
"?sync=false&allowDefaultCodec=false&decoders=#decoder&encoders=#encoder&useByteBuf=true";
         template.sendBody(uriClient, rfc3164Message.getBytes("UTF8"));
         template.sendBody(uriClient, rfc5424Message.getBytes("UTF8"));
 
@@ -91,6 +85,8 @@ public class NettyRfc5425Test extends CamelTestSupport {
             public void configure() {
                 context.setTracing(true);
                 DataFormat syslogDataFormat = new SyslogDataFormat();
+                String uri = "netty:tcp://localhost:" + serverPort.getPort()
+                             + 
"?sync=false&allowDefaultCodec=false&decoders=#decoder&encoders=#encoder";
 
                 // we setup a Syslog listener on a random port.
                 from(uri).unmarshal(syslogDataFormat).process(new Processor() {
diff --git 
a/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/SyslogSpringMinaTest.java
 
b/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/SyslogSpringMinaTest.java
index 16c689c60924..f15a967db562 100644
--- 
a/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/SyslogSpringMinaTest.java
+++ 
b/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/SyslogSpringMinaTest.java
@@ -24,26 +24,26 @@ import java.net.InetAddress;
 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.BeforeAll;
 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;
 
 public class SyslogSpringMinaTest extends CamelSpringTestSupport {
 
-    private static int serverPort;
+    @RegisterExtension
+    AvailablePortFinder.Port serverPort = AvailablePortFinder.find();
+
+    {
+        System.setProperty("server-port", 
Integer.valueOf(serverPort.getPort()).toString());
+    }
+
     private final int messageCount = 1;
     private final String message
             = "<165>Aug  4 05:34:00 mymachine myproc[10]: %% It's\n         
time to make the do-nuts.  %%  Ingredients: Mix=OK, Jelly=OK #\n"
               + "         Devices: Mixer=OK, Jelly_Injector=OK, Frier=OK # 
Transport:\n"
               + "         Conveyer1=OK, Conveyer2=OK # %%";
 
-    @BeforeAll
-    public static void initPort() {
-        serverPort = AvailablePortFinder.getNextAvailable();
-        System.setProperty("server-port", 
Integer.valueOf(serverPort).toString());
-    }
-
     @Override
     protected AbstractXmlApplicationContext createApplicationContext() {
         return new 
ClassPathXmlApplicationContext("org/apache/camel/component/syslog/applicationContext-Mina.xml");
@@ -65,7 +65,7 @@ public class SyslogSpringMinaTest extends 
CamelSpringTestSupport {
 
                 byte[] data = message.getBytes();
 
-                DatagramPacket packet = new DatagramPacket(data, data.length, 
address, serverPort);
+                DatagramPacket packet = new DatagramPacket(data, data.length, 
address, serverPort.getPort());
                 socket.send(packet);
                 Thread.sleep(100);
             }
diff --git 
a/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/SyslogSpringNettyTest.java
 
b/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/SyslogSpringNettyTest.java
index d2c14af852c3..cf00633f609f 100644
--- 
a/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/SyslogSpringNettyTest.java
+++ 
b/components/camel-syslog/src/test/java/org/apache/camel/component/syslog/SyslogSpringNettyTest.java
@@ -24,25 +24,25 @@ import java.net.InetAddress;
 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.BeforeAll;
 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;
 
 public class SyslogSpringNettyTest extends CamelSpringTestSupport {
-    private static int serverPort;
+    @RegisterExtension
+    AvailablePortFinder.Port serverPort = AvailablePortFinder.find();
+
+    {
+        System.setProperty("server-port", 
Integer.valueOf(serverPort.getPort()).toString());
+    }
+
     private final int messageCount = 1;
     private final String message
             = "<165>Aug  4 05:34:00 mymachine myproc[10]: %% It's\n         
time to make the do-nuts.  %%  Ingredients: Mix=OK, Jelly=OK #\n"
               + "         Devices: Mixer=OK, Jelly_Injector=OK, Frier=OK # 
Transport:\n"
               + "         Conveyer1=OK, Conveyer2=OK # %%";
 
-    @BeforeAll
-    public static void initPort() {
-        serverPort = AvailablePortFinder.getNextAvailable();
-        System.setProperty("server-port", 
Integer.valueOf(serverPort).toString());
-    }
-
     @Override
     protected AbstractXmlApplicationContext createApplicationContext() {
         return new 
ClassPathXmlApplicationContext("org/apache/camel/component/syslog/applicationContext-Netty.xml");
@@ -64,7 +64,7 @@ public class SyslogSpringNettyTest extends 
CamelSpringTestSupport {
 
                 byte[] data = message.getBytes();
 
-                DatagramPacket packet = new DatagramPacket(data, data.length, 
address, serverPort);
+                DatagramPacket packet = new DatagramPacket(data, data.length, 
address, serverPort.getPort());
                 socket.send(packet);
                 Thread.sleep(100);
             }
diff --git 
a/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftConsumerAsyncTest.java
 
b/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftConsumerAsyncTest.java
index 385193872e40..b07eab443493 100644
--- 
a/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftConsumerAsyncTest.java
+++ 
b/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftConsumerAsyncTest.java
@@ -40,6 +40,7 @@ import org.apache.thrift.transport.TTransportException;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -49,10 +50,11 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class ThriftConsumerAsyncTest extends CamelTestSupport {
     private static final Logger LOG = 
LoggerFactory.getLogger(ThriftConsumerAsyncTest.class);
-    private static final int THRIFT_TEST_PORT = 
AvailablePortFinder.getNextAvailable();
+    @RegisterExtension
+    AvailablePortFinder.Port thriftTestPort = AvailablePortFinder.find();
     private static final int THRIFT_TEST_NUM1 = 12;
     private static final int THRIFT_TEST_NUM2 = 13;
-    private static Calculator.AsyncClient thriftClient;
+    private Calculator.AsyncClient thriftClient;
 
     private TNonblockingTransport transport;
     private int calculateResult;
@@ -64,8 +66,8 @@ public class ThriftConsumerAsyncTest extends CamelTestSupport 
{
     @BeforeEach
     public void startThriftClient() throws IOException, TTransportException {
         if (transport == null) {
-            LOG.info("Connecting to the Thrift server on port: {}", 
THRIFT_TEST_PORT);
-            transport = new TNonblockingSocket("localhost", THRIFT_TEST_PORT);
+            LOG.info("Connecting to the Thrift server on port: {}", 
thriftTestPort.getPort());
+            transport = new TNonblockingSocket("localhost", 
thriftTestPort.getPort());
             thriftClient = (new Calculator.AsyncClient.Factory(new 
TAsyncClientManager(), new TBinaryProtocol.Factory()))
                     .getAsyncClient(transport);
         }
@@ -241,7 +243,8 @@ public class ThriftConsumerAsyncTest extends 
CamelTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() {
-                from("thrift://localhost:" + THRIFT_TEST_PORT + 
"/org.apache.camel.component.thrift.generated.Calculator")
+                from("thrift://localhost:" + thriftTestPort.getPort()
+                     + 
"/org.apache.camel.component.thrift.generated.Calculator")
                         .to("mock:thrift-service").choice()
                         
.when(header(ThriftConstants.THRIFT_METHOD_NAME_HEADER).isEqualTo("calculate"))
                         .setBody(simple(Integer.valueOf(THRIFT_TEST_NUM1 * 
THRIFT_TEST_NUM2).toString()))
diff --git 
a/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftConsumerConcurrentTest.java
 
b/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftConsumerConcurrentTest.java
index 0ed09a8bf5ac..12ba89471b33 100644
--- 
a/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftConsumerConcurrentTest.java
+++ 
b/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftConsumerConcurrentTest.java
@@ -41,6 +41,7 @@ import org.apache.thrift.transport.TTransport;
 import org.apache.thrift.transport.TTransportException;
 import org.apache.thrift.transport.layered.TFramedTransport;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -50,8 +51,10 @@ import static 
org.junit.jupiter.api.Assertions.assertNotEquals;
 public class ThriftConsumerConcurrentTest extends CamelTestSupport {
     private static final Logger LOG = 
LoggerFactory.getLogger(ThriftConsumerConcurrentTest.class);
 
-    private static final int THRIFT_SYNC_REQUEST_TEST_PORT = 
AvailablePortFinder.getNextAvailable();
-    private static final int THRIFT_ASYNC_REQUEST_TEST_PORT = 
AvailablePortFinder.getNextAvailable();
+    @RegisterExtension
+    AvailablePortFinder.Port thriftSyncPort = AvailablePortFinder.find();
+    @RegisterExtension
+    AvailablePortFinder.Port thriftAsyncPort = AvailablePortFinder.find();
     private static final int THRIFT_TEST_NUM1 = 12;
     private static final int CONCURRENT_THREAD_COUNT = 30;
     private static final int ROUNDS_PER_THREAD_COUNT = 10;
@@ -72,7 +75,7 @@ public class ThriftConsumerConcurrentTest extends 
CamelTestSupport {
 
             @Override
             public void run() throws TTransportException {
-                TTransport transport = new TSocket("localhost", 
THRIFT_SYNC_REQUEST_TEST_PORT);
+                TTransport transport = new TSocket("localhost", 
thriftSyncPort.getPort());
                 transport.open();
                 TProtocol protocol = new TBinaryProtocol(new 
TFramedTransport(transport));
                 Calculator.Client client = (new 
Calculator.Client.Factory()).getClient(protocol);
@@ -105,7 +108,7 @@ public class ThriftConsumerConcurrentTest extends 
CamelTestSupport {
             public void run() throws TTransportException, IOException, 
InterruptedException {
                 final CountDownLatch latch = new CountDownLatch(1);
 
-                TNonblockingTransport transport = new 
TNonblockingSocket("localhost", THRIFT_ASYNC_REQUEST_TEST_PORT);
+                TNonblockingTransport transport = new 
TNonblockingSocket("localhost", thriftAsyncPort.getPort());
                 Calculator.AsyncClient client
                         = (new Calculator.AsyncClient.Factory(new 
TAsyncClientManager(), new TBinaryProtocol.Factory()))
                                 .getAsyncClient(transport);
@@ -162,11 +165,11 @@ public class ThriftConsumerConcurrentTest extends 
CamelTestSupport {
             @Override
             public void configure() {
 
-                from("thrift://localhost:" + THRIFT_SYNC_REQUEST_TEST_PORT
+                from("thrift://localhost:" + thriftSyncPort.getPort()
                      + 
"/org.apache.camel.component.thrift.generated.Calculator?synchronous=true")
                         .setBody(simple("${body[1]}")).bean(new 
CalculatorMessageBuilder(), "multiply");
 
-                from("thrift://localhost:" + THRIFT_ASYNC_REQUEST_TEST_PORT
+                from("thrift://localhost:" + thriftAsyncPort.getPort()
                      + 
"/org.apache.camel.component.thrift.generated.Calculator")
                         .setBody(simple("${body[1]}")).bean(new 
CalculatorMessageBuilder(), "multiply");
             }
diff --git 
a/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftConsumerSecurityTest.java
 
b/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftConsumerSecurityTest.java
index 3f33e34a992f..f7cdd3fdd048 100644
--- 
a/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftConsumerSecurityTest.java
+++ 
b/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftConsumerSecurityTest.java
@@ -35,6 +35,7 @@ import org.apache.thrift.transport.TTransportException;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -44,7 +45,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class ThriftConsumerSecurityTest extends CamelTestSupport {
     private static final Logger LOG = 
LoggerFactory.getLogger(ThriftConsumerSecurityTest.class);
-    private static final int THRIFT_TEST_PORT = 
AvailablePortFinder.getNextAvailable();
+    @RegisterExtension
+    AvailablePortFinder.Port thriftTestPort = AvailablePortFinder.find();
     private static final int THRIFT_TEST_NUM1 = 12;
     private static final int THRIFT_TEST_NUM2 = 13;
     private static final String TRUST_STORE_RESOURCE = 
"file:src/test/resources/certs/truststore.jks";
@@ -52,7 +54,7 @@ public class ThriftConsumerSecurityTest extends 
CamelTestSupport {
     private static final String SECURITY_STORE_PASSWORD = "camelinaction";
     private static final int THRIFT_CLIENT_TIMEOUT = 2000;
 
-    private static Calculator.Client thriftClient;
+    private Calculator.Client thriftClient;
 
     private TProtocol protocol;
     private TTransport transport;
@@ -60,12 +62,13 @@ public class ThriftConsumerSecurityTest extends 
CamelTestSupport {
     @BeforeEach
     public void startThriftSecureClient() throws TTransportException {
         if (transport == null) {
-            LOG.info("Connecting to the secured Thrift server on port: {}", 
THRIFT_TEST_PORT);
+            LOG.info("Connecting to the secured Thrift server on port: {}", 
thriftTestPort.getPort());
 
             TSSLTransportFactory.TSSLTransportParameters sslParams = new 
TSSLTransportFactory.TSSLTransportParameters();
 
             sslParams.setTrustStore(TRUST_STORE_RESOURCE, 
SECURITY_STORE_PASSWORD);
-            transport = TSSLTransportFactory.getClientSocket("localhost", 
THRIFT_TEST_PORT, THRIFT_CLIENT_TIMEOUT, sslParams);
+            transport = TSSLTransportFactory.getClientSocket("localhost", 
thriftTestPort.getPort(), THRIFT_CLIENT_TIMEOUT,
+                    sslParams);
 
             protocol = new TBinaryProtocol(transport);
             thriftClient = new Calculator.Client(protocol);
@@ -137,7 +140,7 @@ public class ThriftConsumerSecurityTest extends 
CamelTestSupport {
             @Override
             public void configure() {
 
-                from("thrift://localhost:" + THRIFT_TEST_PORT
+                from("thrift://localhost:" + thriftTestPort.getPort()
                      + 
"/org.apache.camel.component.thrift.generated.Calculator?negotiationType=SSL&sslParameters=#sslParams&synchronous=true")
                         .to("mock:thrift-secure-service").choice()
                         
.when(header(ThriftConstants.THRIFT_METHOD_NAME_HEADER).isEqualTo("calculate"))
diff --git 
a/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftConsumerSyncTest.java
 
b/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftConsumerSyncTest.java
index d531b1e37e8b..3dd5d4575c2d 100644
--- 
a/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftConsumerSyncTest.java
+++ 
b/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftConsumerSyncTest.java
@@ -32,6 +32,7 @@ import org.apache.thrift.transport.layered.TFramedTransport;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -41,10 +42,11 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class ThriftConsumerSyncTest extends CamelTestSupport {
     private static final Logger LOG = 
LoggerFactory.getLogger(ThriftConsumerSyncTest.class);
-    private static final int THRIFT_TEST_PORT = 
AvailablePortFinder.getNextAvailable();
+    @RegisterExtension
+    AvailablePortFinder.Port thriftTestPort = AvailablePortFinder.find();
     private static final int THRIFT_TEST_NUM1 = 12;
     private static final int THRIFT_TEST_NUM2 = 13;
-    private static Calculator.Client thriftClient;
+    private Calculator.Client thriftClient;
 
     private TProtocol protocol;
     private TTransport transport;
@@ -52,8 +54,8 @@ public class ThriftConsumerSyncTest extends CamelTestSupport {
     @BeforeEach
     public void startThriftClient() throws TTransportException {
         if (transport == null) {
-            LOG.info("Connecting to the Thrift server on port: {}", 
THRIFT_TEST_PORT);
-            transport = new TSocket("localhost", THRIFT_TEST_PORT);
+            LOG.info("Connecting to the Thrift server on port: {}", 
thriftTestPort.getPort());
+            transport = new TSocket("localhost", thriftTestPort.getPort());
             transport.open();
             protocol = new TBinaryProtocol(new TFramedTransport(transport));
             thriftClient = (new 
Calculator.Client.Factory()).getClient(protocol);
@@ -104,7 +106,7 @@ public class ThriftConsumerSyncTest extends 
CamelTestSupport {
             @Override
             public void configure() {
 
-                from("thrift://localhost:" + THRIFT_TEST_PORT
+                from("thrift://localhost:" + thriftTestPort.getPort()
                      + 
"/org.apache.camel.component.thrift.generated.Calculator?synchronous=true")
                         .to("mock:thrift-service").choice()
                         
.when(header(ThriftConstants.THRIFT_METHOD_NAME_HEADER).isEqualTo("calculate"))
diff --git 
a/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftConsumerZlibCompressionTest.java
 
b/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftConsumerZlibCompressionTest.java
index 89fbf97bb625..4db3c343583f 100644
--- 
a/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftConsumerZlibCompressionTest.java
+++ 
b/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftConsumerZlibCompressionTest.java
@@ -33,6 +33,7 @@ import org.apache.thrift.transport.TZlibTransport;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -42,12 +43,13 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class ThriftConsumerZlibCompressionTest extends CamelTestSupport {
     private static final Logger LOG = 
LoggerFactory.getLogger(ThriftConsumerZlibCompressionTest.class);
-    private static final int THRIFT_TEST_PORT = 
AvailablePortFinder.getNextAvailable();
+    @RegisterExtension
+    AvailablePortFinder.Port thriftTestPort = AvailablePortFinder.find();
     private static final int THRIFT_TEST_NUM1 = 12;
     private static final int THRIFT_TEST_NUM2 = 13;
     private static final int THRIFT_CLIENT_TIMEOUT = 2000;
 
-    private static Calculator.Client thriftClient;
+    private Calculator.Client thriftClient;
 
     private TProtocol protocol;
     private TTransport transport;
@@ -55,9 +57,9 @@ public class ThriftConsumerZlibCompressionTest extends 
CamelTestSupport {
     @BeforeEach
     public void startThriftZlibClient() throws TTransportException {
         if (transport == null) {
-            LOG.info("Connecting to the Thrift server with zlib compression on 
port: {}", THRIFT_TEST_PORT);
+            LOG.info("Connecting to the Thrift server with zlib compression on 
port: {}", thriftTestPort.getPort());
 
-            transport = new TSocket(new TConfiguration(), "localhost", 
THRIFT_TEST_PORT, THRIFT_CLIENT_TIMEOUT);
+            transport = new TSocket(new TConfiguration(), "localhost", 
thriftTestPort.getPort(), THRIFT_CLIENT_TIMEOUT);
             protocol = new TBinaryProtocol(new TZlibTransport(transport));
             thriftClient = new Calculator.Client(protocol);
             transport.open();
@@ -113,7 +115,7 @@ public class ThriftConsumerZlibCompressionTest extends 
CamelTestSupport {
             @Override
             public void configure() {
 
-                from("thrift://localhost:" + THRIFT_TEST_PORT
+                from("thrift://localhost:" + thriftTestPort.getPort()
                      + 
"/org.apache.camel.component.thrift.generated.Calculator?compressionType=ZLIB&synchronous=true")
                         .to("mock:thrift-secure-service").choice()
                         
.when(header(ThriftConstants.THRIFT_METHOD_NAME_HEADER).isEqualTo("calculate"))
diff --git 
a/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftProducerBaseTest.java
 
b/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftProducerBaseTest.java
index 3126ecb62ba9..6b4b12942b95 100644
--- 
a/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftProducerBaseTest.java
+++ 
b/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftProducerBaseTest.java
@@ -24,39 +24,39 @@ import org.apache.thrift.server.THsHaServer;
 import org.apache.thrift.server.THsHaServer.Args;
 import org.apache.thrift.server.TServer;
 import org.apache.thrift.transport.TNonblockingServerSocket;
-import org.junit.jupiter.api.AfterAll;
-import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.extension.RegisterExtension;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public abstract class ThriftProducerBaseTest extends CamelTestSupport {
-    protected static final int THRIFT_TEST_PORT = 
AvailablePortFinder.getNextAvailable();
+    @RegisterExtension
+    AvailablePortFinder.Port thriftTestPort = AvailablePortFinder.find();
     protected static final int THRIFT_TEST_NUM1 = 12;
     protected static final int THRIFT_TEST_NUM2 = 13;
     @SuppressWarnings({ "rawtypes" })
     protected static Calculator.Processor processor;
 
     private static final Logger LOG = 
LoggerFactory.getLogger(ThriftProducerBaseTest.class);
-    private static TNonblockingServerSocket serverTransport;
-    private static TServer server;
+    private TNonblockingServerSocket serverTransport;
+    private TServer server;
 
-    @BeforeAll
+    @Override
     @SuppressWarnings({ "unchecked", "rawtypes" })
-    public static void startThriftServer() throws Exception {
+    protected void setupResources() throws Exception {
         processor = new Calculator.Processor(new CalculatorSyncServerImpl());
-        serverTransport = new TNonblockingServerSocket(THRIFT_TEST_PORT);
+        serverTransport = new 
TNonblockingServerSocket(thriftTestPort.getPort());
         server = new THsHaServer(new 
Args(serverTransport).processor(processor));
         Runnable simple = new Runnable() {
             public void run() {
-                LOG.info("Thrift server started on port: {}", 
THRIFT_TEST_PORT);
+                LOG.info("Thrift server started on port: {}", 
thriftTestPort.getPort());
                 server.serve();
             }
         };
         new Thread(simple).start();
     }
 
-    @AfterAll
-    public static void stopThriftServer() {
+    @Override
+    protected void cleanupResources() throws Exception {
         if (server != null) {
             server.stop();
             serverTransport.close();
diff --git 
a/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftProducerSecurityTest.java
 
b/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftProducerSecurityTest.java
index 19a3e83696e0..1a4cad0a5cd1 100644
--- 
a/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftProducerSecurityTest.java
+++ 
b/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftProducerSecurityTest.java
@@ -40,9 +40,8 @@ import org.apache.thrift.server.TServer;
 import org.apache.thrift.server.TThreadPoolServer;
 import org.apache.thrift.transport.TSSLTransportFactory;
 import org.apache.thrift.transport.TServerSocket;
-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 org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -55,12 +54,13 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 public class ThriftProducerSecurityTest extends CamelTestSupport {
     private static final Logger LOG = 
LoggerFactory.getLogger(ThriftProducerSecurityTest.class);
 
-    private static TServerSocket serverTransport;
-    private static TServer server;
+    private TServerSocket serverTransport;
+    private TServer server;
     @SuppressWarnings({ "rawtypes" })
-    private static Calculator.Processor processor;
+    private Calculator.Processor processor;
 
-    private static final int THRIFT_TEST_PORT = 
AvailablePortFinder.getNextAvailable();
+    @RegisterExtension
+    AvailablePortFinder.Port thriftTestPort = AvailablePortFinder.find();
     private static final int THRIFT_TEST_NUM1 = 12;
     private static final int THRIFT_TEST_NUM2 = 13;
 
@@ -69,15 +69,15 @@ public class ThriftProducerSecurityTest extends 
CamelTestSupport {
     private static final String SECURITY_STORE_PASSWORD = "camelinaction";
     private static final int THRIFT_CLIENT_TIMEOUT = 2000;
 
-    @BeforeAll
+    @Override
     @SuppressWarnings({ "unchecked", "rawtypes" })
-    public static void startThriftServer() throws Exception {
+    protected void setupResources() throws Exception {
         processor = new Calculator.Processor(new CalculatorSyncServerImpl());
 
         TSSLTransportFactory.TSSLTransportParameters sslParams = new 
TSSLTransportFactory.TSSLTransportParameters();
 
         sslParams.setKeyStore(KEY_STORE_SOURCE, SECURITY_STORE_PASSWORD);
-        serverTransport = 
TSSLTransportFactory.getServerSocket(THRIFT_TEST_PORT, THRIFT_CLIENT_TIMEOUT,
+        serverTransport = 
TSSLTransportFactory.getServerSocket(thriftTestPort.getPort(), 
THRIFT_CLIENT_TIMEOUT,
                 InetAddress.getByName("localhost"), sslParams);
         TThreadPoolServer.Args args = new 
TThreadPoolServer.Args(serverTransport);
         args.processor(processor);
@@ -85,15 +85,15 @@ public class ThriftProducerSecurityTest extends 
CamelTestSupport {
 
         Runnable simple = new Runnable() {
             public void run() {
-                LOG.info("Thrift secured server started on port: {}", 
THRIFT_TEST_PORT);
+                LOG.info("Thrift secured server started on port: {}", 
thriftTestPort.getPort());
                 server.serve();
             }
         };
         new Thread(simple).start();
     }
 
-    @AfterAll
-    public static void stopThriftServer() {
+    @Override
+    protected void cleanupResources() throws Exception {
         if (server != null) {
             server.stop();
             serverTransport.close();
@@ -201,23 +201,23 @@ public class ThriftProducerSecurityTest extends 
CamelTestSupport {
             @Override
             public void configure() {
                 from("direct:thrift-secured-calculate")
-                        .to("thrift://localhost:" + THRIFT_TEST_PORT
+                        .to("thrift://localhost:" + thriftTestPort.getPort()
                             + 
"/org.apache.camel.component.thrift.generated.Calculator?"
                             + 
"method=calculate&negotiationType=SSL&sslParameters=#sslParams&synchronous=true");
                 from("direct:thrift-secured-add")
-                        .to("thrift://localhost:" + THRIFT_TEST_PORT
+                        .to("thrift://localhost:" + thriftTestPort.getPort()
                             + 
"/org.apache.camel.component.thrift.generated.Calculator?"
                             + 
"method=add&negotiationType=SSL&sslParameters=#sslParams&synchronous=true");
                 from("direct:thrift-secured-ping")
-                        .to("thrift://localhost:" + THRIFT_TEST_PORT
+                        .to("thrift://localhost:" + thriftTestPort.getPort()
                             + 
"/org.apache.camel.component.thrift.generated.Calculator?"
                             + 
"method=ping&negotiationType=SSL&sslParameters=#sslParams&synchronous=true");
                 from("direct:thrift-secured-zip")
-                        .to("thrift://localhost:" + THRIFT_TEST_PORT
+                        .to("thrift://localhost:" + thriftTestPort.getPort()
                             + 
"/org.apache.camel.component.thrift.generated.Calculator?"
                             + 
"method=zip&negotiationType=SSL&sslParameters=#sslParams&synchronous=true");
                 from("direct:thrift-secured-alltypes")
-                        .to("thrift://localhost:" + THRIFT_TEST_PORT
+                        .to("thrift://localhost:" + thriftTestPort.getPort()
                             + 
"/org.apache.camel.component.thrift.generated.Calculator?"
                             + 
"method=alltypes&negotiationType=SSL&sslParameters=#sslParams&synchronous=true");
             }
diff --git 
a/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftProducerSyncTest.java
 
b/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftProducerSyncTest.java
index f05e5727b667..0d04cc18db12 100644
--- 
a/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftProducerSyncTest.java
+++ 
b/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftProducerSyncTest.java
@@ -158,22 +158,22 @@ public class ThriftProducerSyncTest extends 
ThriftProducerBaseTest {
             @Override
             public void configure() {
                 from("direct:thrift-calculate")
-                        .to("thrift://localhost:" + THRIFT_TEST_PORT
+                        .to("thrift://localhost:" + thriftTestPort.getPort()
                             + 
"/org.apache.camel.component.thrift.generated.Calculator?method=calculate&synchronous=true");
                 from("direct:thrift-add")
-                        .to("thrift://localhost:" + THRIFT_TEST_PORT
+                        .to("thrift://localhost:" + thriftTestPort.getPort()
                             + 
"/org.apache.camel.component.thrift.generated.Calculator?method=add&synchronous=true");
                 from("direct:thrift-ping")
-                        .to("thrift://localhost:" + THRIFT_TEST_PORT
+                        .to("thrift://localhost:" + thriftTestPort.getPort()
                             + 
"/org.apache.camel.component.thrift.generated.Calculator?method=ping&synchronous=true");
                 from("direct:thrift-zip")
-                        .to("thrift://localhost:" + THRIFT_TEST_PORT
+                        .to("thrift://localhost:" + thriftTestPort.getPort()
                             + 
"/org.apache.camel.component.thrift.generated.Calculator?method=zip&synchronous=true");
                 from("direct:thrift-alltypes")
-                        .to("thrift://localhost:" + THRIFT_TEST_PORT
+                        .to("thrift://localhost:" + thriftTestPort.getPort()
                             + 
"/org.apache.camel.component.thrift.generated.Calculator?method=alltypes&synchronous=true");
                 from("direct:thrift-echo")
-                        .to("thrift://localhost:" + THRIFT_TEST_PORT
+                        .to("thrift://localhost:" + thriftTestPort.getPort()
                             + 
"/org.apache.camel.component.thrift.generated.Calculator?method=echo&synchronous=true");
             }
         };
diff --git 
a/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftProducerZlibCompressionTest.java
 
b/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftProducerZlibCompressionTest.java
index 6b1aa9b1673b..20c2125de9e6 100644
--- 
a/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftProducerZlibCompressionTest.java
+++ 
b/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/ThriftProducerZlibCompressionTest.java
@@ -33,9 +33,8 @@ import org.apache.thrift.server.TServer;
 import org.apache.thrift.server.TThreadPoolServer;
 import org.apache.thrift.transport.TServerSocket;
 import org.apache.thrift.transport.TZlibTransport;
-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 org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -47,23 +46,24 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 public class ThriftProducerZlibCompressionTest extends CamelTestSupport {
     private static final Logger LOG = 
LoggerFactory.getLogger(ThriftProducerZlibCompressionTest.class);
 
-    private static TServerSocket serverTransport;
-    private static TServer server;
+    private TServerSocket serverTransport;
+    private TServer server;
     @SuppressWarnings({ "rawtypes" })
-    private static Calculator.Processor processor;
+    private Calculator.Processor processor;
 
-    private static final int THRIFT_TEST_PORT = 
AvailablePortFinder.getNextAvailable();
+    @RegisterExtension
+    AvailablePortFinder.Port thriftTestPort = AvailablePortFinder.find();
     private static final int THRIFT_TEST_NUM1 = 12;
     private static final int THRIFT_TEST_NUM2 = 13;
     private static final int THRIFT_CLIENT_TIMEOUT = 2000;
 
-    @BeforeAll
+    @Override
     @SuppressWarnings({ "unchecked", "rawtypes" })
-    public static void startThriftServer() throws Exception {
+    protected void setupResources() throws Exception {
         processor = new Calculator.Processor(new CalculatorSyncServerImpl());
 
         serverTransport = new TServerSocket(
-                new InetSocketAddress(InetAddress.getByName("localhost"), 
THRIFT_TEST_PORT), THRIFT_CLIENT_TIMEOUT);
+                new InetSocketAddress(InetAddress.getByName("localhost"), 
thriftTestPort.getPort()), THRIFT_CLIENT_TIMEOUT);
         TThreadPoolServer.Args args = new 
TThreadPoolServer.Args(serverTransport);
         args.processor(processor);
         args.protocolFactory(new TBinaryProtocol.Factory());
@@ -72,15 +72,15 @@ public class ThriftProducerZlibCompressionTest extends 
CamelTestSupport {
 
         Runnable simple = new Runnable() {
             public void run() {
-                LOG.info("Thrift server with zlib compression started on port: 
{}", THRIFT_TEST_PORT);
+                LOG.info("Thrift server with zlib compression started on port: 
{}", thriftTestPort.getPort());
                 server.serve();
             }
         };
         new Thread(simple).start();
     }
 
-    @AfterAll
-    public static void stopThriftServer() {
+    @Override
+    protected void cleanupResources() throws Exception {
         if (server != null) {
             server.stop();
             serverTransport.close();
@@ -120,10 +120,10 @@ public class ThriftProducerZlibCompressionTest extends 
CamelTestSupport {
             @Override
             public void configure() {
                 from("direct:thrift-zlib-calculate")
-                        .to("thrift://localhost:" + THRIFT_TEST_PORT
+                        .to("thrift://localhost:" + thriftTestPort.getPort()
                             + 
"/org.apache.camel.component.thrift.generated.Calculator?method=calculate&compressionType=ZLIB&synchronous=true");
                 from("direct:thrift-zlib-ping")
-                        .to("thrift://localhost:" + THRIFT_TEST_PORT
+                        .to("thrift://localhost:" + thriftTestPort.getPort()
                             + 
"/org.apache.camel.component.thrift.generated.Calculator?method=ping&compressionType=ZLIB&synchronous=true");
             }
         };
diff --git 
a/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/local/ThriftThreadPoolServerTest.java
 
b/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/local/ThriftThreadPoolServerTest.java
index 34a06ddbf515..3b221c914562 100644
--- 
a/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/local/ThriftThreadPoolServerTest.java
+++ 
b/components/camel-thrift/src/test/java/org/apache/camel/component/thrift/local/ThriftThreadPoolServerTest.java
@@ -34,6 +34,7 @@ import org.apache.thrift.transport.TTransport;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -45,7 +46,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 public class ThriftThreadPoolServerTest extends CamelTestSupport {
     private static final Logger LOG = 
LoggerFactory.getLogger(ThriftProducerSecurityTest.class);
 
-    private static final int THRIFT_TEST_PORT = 
AvailablePortFinder.getNextAvailable();
+    @RegisterExtension
+    AvailablePortFinder.Port thriftTestPort = AvailablePortFinder.find();
     private static final int THRIFT_TEST_NUM1 = 12;
     private static final int THRIFT_TEST_NUM2 = 13;
 
@@ -54,12 +56,12 @@ public class ThriftThreadPoolServerTest extends 
CamelTestSupport {
     private static final String SECURITY_STORE_PASSWORD = "camelinaction";
     private static final int THRIFT_CLIENT_TIMEOUT = 2000;
 
-    private static TServerSocket serverTransport;
-    private static TTransport clientTransport;
-    private static TServer server;
-    private static TProtocol protocol;
+    private TServerSocket serverTransport;
+    private TTransport clientTransport;
+    private TServer server;
+    private TProtocol protocol;
     @SuppressWarnings({ "rawtypes" })
-    private static Calculator.Processor processor;
+    private Calculator.Processor processor;
 
     @BeforeEach
     @SuppressWarnings({ "unchecked", "rawtypes" })
@@ -69,7 +71,7 @@ public class ThriftThreadPoolServerTest extends 
CamelTestSupport {
         TSSLTransportFactory.TSSLTransportParameters sslParams = new 
TSSLTransportFactory.TSSLTransportParameters();
 
         sslParams.setKeyStore(KEY_STORE_PATH, SECURITY_STORE_PASSWORD);
-        serverTransport = 
TSSLTransportFactory.getServerSocket(THRIFT_TEST_PORT, THRIFT_CLIENT_TIMEOUT,
+        serverTransport = 
TSSLTransportFactory.getServerSocket(thriftTestPort.getPort(), 
THRIFT_CLIENT_TIMEOUT,
                 InetAddress.getByName("localhost"), sslParams);
         ThriftThreadPoolServer.Args args = new 
ThriftThreadPoolServer.Args(serverTransport);
 
@@ -80,7 +82,7 @@ public class ThriftThreadPoolServerTest extends 
CamelTestSupport {
 
         server = new ThriftThreadPoolServer(args);
         server.serve();
-        LOG.info("Thrift secured server started on port: {}", 
THRIFT_TEST_PORT);
+        LOG.info("Thrift secured server started on port: {}", 
thriftTestPort.getPort());
     }
 
     @AfterEach
@@ -96,7 +98,7 @@ public class ThriftThreadPoolServerTest extends 
CamelTestSupport {
     public void clientConnectionTest() throws TException {
         TSSLTransportFactory.TSSLTransportParameters sslParams = new 
TSSLTransportFactory.TSSLTransportParameters();
         sslParams.setTrustStore(TRUST_STORE_PATH, SECURITY_STORE_PASSWORD);
-        clientTransport = TSSLTransportFactory.getClientSocket("localhost", 
THRIFT_TEST_PORT, 1000, sslParams);
+        clientTransport = TSSLTransportFactory.getClientSocket("localhost", 
thriftTestPort.getPort(), 1000, sslParams);
 
         protocol = new TBinaryProtocol(clientTransport);
         Calculator.Client client = new Calculator.Client(protocol);

Reply via email to