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

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

commit bc342c5130dcdfefc9217c9e7e354cbf9ed4f2c3
Author: Guillaume Nodet <[email protected]>
AuthorDate: Fri Mar 20 07:50:16 2026 +0100

    CAMEL-23214: Fix try-with-resources anti-pattern in port migration
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
---
 .../camel/component/avro/AvroTestSupport.java      | 23 +++++++++++++---------
 .../camel/service/lra/AbstractLRATestSupport.java  | 10 +++-------
 .../component/milo/AbstractMiloServerTest.java     | 17 ++++++----------
 .../servlet/ServletCamelRouterTestSupport.java     |  7 ++++---
 .../component/ssh/SshComponentTestSupport.java     |  7 ++++---
 .../component/whatsapp/WhatsAppWebhookTest.java    |  4 ----
 6 files changed, 31 insertions(+), 37 deletions(-)

diff --git 
a/components/camel-avro-rpc/camel-avro-rpc-component/src/test/java/org/apache/camel/component/avro/AvroTestSupport.java
 
b/components/camel-avro-rpc/camel-avro-rpc-component/src/test/java/org/apache/camel/component/avro/AvroTestSupport.java
index 69f80301ad12..a4fb2b7263ea 100644
--- 
a/components/camel-avro-rpc/camel-avro-rpc-component/src/test/java/org/apache/camel/component/avro/AvroTestSupport.java
+++ 
b/components/camel-avro-rpc/camel-avro-rpc-component/src/test/java/org/apache/camel/component/avro/AvroTestSupport.java
@@ -19,18 +19,23 @@ package org.apache.camel.component.avro;
 import org.apache.camel.CamelContext;
 import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 public class AvroTestSupport extends CamelTestSupport {
-    protected int port = 9100;
-    protected int avroPort = setupFreePort("avroport");
-    protected int avroPortReflection = setupFreePort("avroPortReflection");
+    @RegisterExtension
+    AvailablePortFinder.Port avroPortHolder = AvailablePortFinder.find();
+    @RegisterExtension
+    AvailablePortFinder.Port avroPortReflectionHolder = 
AvailablePortFinder.find();
 
-    public int setupFreePort(String name) {
-        try (AvailablePortFinder.Port p = AvailablePortFinder.find()) {
-            port = p.getPort();
-        }
-        System.setProperty(name, String.valueOf(port));
-        return port;
+    protected int avroPort;
+    protected int avroPortReflection;
+
+    @Override
+    protected void doPreSetup() throws Exception {
+        avroPort = avroPortHolder.getPort();
+        avroPortReflection = avroPortReflectionHolder.getPort();
+        System.setProperty("avroport", String.valueOf(avroPort));
+        System.setProperty("avroPortReflection", 
String.valueOf(avroPortReflection));
     }
 
     @Override
diff --git 
a/components/camel-lra/src/test/java/org/apache/camel/service/lra/AbstractLRATestSupport.java
 
b/components/camel-lra/src/test/java/org/apache/camel/service/lra/AbstractLRATestSupport.java
index f5030cf5eabe..fa7604767b88 100644
--- 
a/components/camel-lra/src/test/java/org/apache/camel/service/lra/AbstractLRATestSupport.java
+++ 
b/components/camel-lra/src/test/java/org/apache/camel/service/lra/AbstractLRATestSupport.java
@@ -47,7 +47,8 @@ public abstract class AbstractLRATestSupport extends 
CamelTestSupport {
     @RegisterExtension
     static MicroprofileLRAService service = 
MicroprofileLRAServiceFactory.createService();
 
-    private Integer serverPort;
+    @RegisterExtension
+    AvailablePortFinder.Port serverPortHolder = AvailablePortFinder.find();
 
     private int activeLRAs;
 
@@ -106,11 +107,6 @@ public abstract class AbstractLRATestSupport extends 
CamelTestSupport {
     }
 
     protected int getServerPort() {
-        if (serverPort == null) {
-            try (AvailablePortFinder.Port p = AvailablePortFinder.find()) {
-                serverPort = p.getPort();
-            }
-        }
-        return serverPort;
+        return serverPortHolder.getPort();
     }
 }
diff --git 
a/components/camel-milo/src/test/java/org/apache/camel/component/milo/AbstractMiloServerTest.java
 
b/components/camel-milo/src/test/java/org/apache/camel/component/milo/AbstractMiloServerTest.java
index 119df3efc6fb..e9d13236b2cb 100644
--- 
a/components/camel-milo/src/test/java/org/apache/camel/component/milo/AbstractMiloServerTest.java
+++ 
b/components/camel-milo/src/test/java/org/apache/camel/component/milo/AbstractMiloServerTest.java
@@ -30,6 +30,7 @@ import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.eclipse.milo.opcua.stack.core.security.SecurityPolicy;
 import org.eclipse.milo.opcua.stack.core.types.builtin.DataValue;
+import org.junit.jupiter.api.extension.RegisterExtension;
 import org.opentest4j.AssertionFailedError;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -43,17 +44,11 @@ public abstract class AbstractMiloServerTest extends 
CamelTestSupport {
 
     private static final Logger LOG = 
LoggerFactory.getLogger(AbstractMiloServerTest.class);
 
-    private int serverPort;
-
-    @Override
-    protected void doPreSetup() throws Exception {
-        try (AvailablePortFinder.Port port = AvailablePortFinder.find()) {
-            this.serverPort = port.getPort();
-        }
-    }
+    @RegisterExtension
+    AvailablePortFinder.Port serverPortHolder = AvailablePortFinder.find();
 
     public int getServerPort() {
-        return this.serverPort;
+        return serverPortHolder.getPort();
     }
 
     protected boolean isAddServer() {
@@ -71,7 +66,7 @@ public abstract class AbstractMiloServerTest extends 
CamelTestSupport {
             return uri;
         }
 
-        return uri.replace("@@port@@", Integer.toString(this.serverPort));
+        return uri.replace("@@port@@", Integer.toString(getServerPort()));
     }
 
     public static void testBody(final AssertionClause clause, final 
Consumer<DataValue> valueConsumer) {
@@ -113,7 +108,7 @@ public abstract class AbstractMiloServerTest extends 
CamelTestSupport {
 
     protected void configureMiloServer(final MiloServerComponent server) 
throws Exception {
         server.setBindAddresses("localhost");
-        server.setPort(this.serverPort);
+        server.setPort(getServerPort());
         server.setUserAuthenticationCredentials("foo:bar,foo2:bar2");
         server.setUsernameSecurityPolicyUri(SecurityPolicy.None);
         server.setSecurityPoliciesById("None");
diff --git 
a/components/camel-servlet/src/test/java/org/apache/camel/component/servlet/ServletCamelRouterTestSupport.java
 
b/components/camel-servlet/src/test/java/org/apache/camel/component/servlet/ServletCamelRouterTestSupport.java
index 0561e712a405..865dd1c1fc60 100644
--- 
a/components/camel-servlet/src/test/java/org/apache/camel/component/servlet/ServletCamelRouterTestSupport.java
+++ 
b/components/camel-servlet/src/test/java/org/apache/camel/component/servlet/ServletCamelRouterTestSupport.java
@@ -40,20 +40,21 @@ import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.camel.util.IOHelper;
 import org.apache.camel.util.ObjectHelper;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 public class ServletCamelRouterTestSupport extends CamelTestSupport {
 
     public static final String CONTEXT = "/mycontext";
     protected String contextUrl;
+    @RegisterExtension
+    AvailablePortFinder.Port portHolder = AvailablePortFinder.find();
     protected int port;
     protected DeploymentManager manager;
     protected Undertow server;
 
     @Override
     public void setupResources() throws Exception {
-        try (AvailablePortFinder.Port p = AvailablePortFinder.find()) {
-            port = p.getPort();
-        }
+        port = portHolder.getPort();
         DeploymentInfo servletBuilder = getDeploymentInfo();
         manager = Servlets.newContainer().addDeployment(servletBuilder);
         manager.deploy();
diff --git 
a/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentTestSupport.java
 
b/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentTestSupport.java
index 8eaaeeee6123..5072f0766d93 100644
--- 
a/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentTestSupport.java
+++ 
b/components/camel-ssh/src/test/java/org/apache/camel/component/ssh/SshComponentTestSupport.java
@@ -23,16 +23,17 @@ import org.apache.camel.test.AvailablePortFinder;
 import org.apache.camel.test.junit6.CamelTestSupport;
 import org.apache.sshd.common.keyprovider.FileKeyPairProvider;
 import org.apache.sshd.server.SshServer;
+import org.junit.jupiter.api.extension.RegisterExtension;
 
 public class SshComponentTestSupport extends CamelTestSupport {
+    @RegisterExtension
+    AvailablePortFinder.Port portHolder = AvailablePortFinder.find();
     protected SshServer sshd;
     protected int port;
 
     @Override
     public void doPreSetup() throws Exception {
-        try (AvailablePortFinder.Port p = AvailablePortFinder.find()) {
-            port = p.getPort();
-        }
+        port = portHolder.getPort();
 
         sshd = SshServer.setUpDefaultServer();
         sshd.setPort(port);
diff --git 
a/components/camel-whatsapp/src/test/java/org/apache/camel/component/whatsapp/WhatsAppWebhookTest.java
 
b/components/camel-whatsapp/src/test/java/org/apache/camel/component/whatsapp/WhatsAppWebhookTest.java
index a07693a639fc..7b34a56d8b36 100644
--- 
a/components/camel-whatsapp/src/test/java/org/apache/camel/component/whatsapp/WhatsAppWebhookTest.java
+++ 
b/components/camel-whatsapp/src/test/java/org/apache/camel/component/whatsapp/WhatsAppWebhookTest.java
@@ -87,10 +87,6 @@ public class WhatsAppWebhookTest extends WhatsAppTestSupport 
{
         
Assertions.assertThat(mock.getExchanges().get(0).getIn().getBody(String.class)).contains("\"type\":
 \"text\"");
     }
 
-    @Override
-    protected void doPreSetup() {
-    }
-
     protected WhatsAppApiConfig getWhatsAppApiConfig() {
         return WhatsAppApiConfig.mock(port.getPort());
     }

Reply via email to