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 4b148a9ff1057ab3233a100e981bfd7fde3646cf Author: Guillaume Nodet <[email protected]> AuthorDate: Fri Mar 20 13:23:14 2026 +0100 CAMEL-23214: Fix flaky JMXRobustRemoteConnectionTest - use @RegisterExtension for port and cleanup RMI registry Co-Authored-By: Claude Opus 4.6 <[email protected]> --- .../component/jmx/JMXRobustRemoteConnectionTest.java | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/JMXRobustRemoteConnectionTest.java b/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/JMXRobustRemoteConnectionTest.java index 7d20972c0457..35c0bedadcfa 100644 --- a/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/JMXRobustRemoteConnectionTest.java +++ b/components/camel-jmx/src/test/java/org/apache/camel/component/jmx/JMXRobustRemoteConnectionTest.java @@ -17,8 +17,10 @@ package org.apache.camel.component.jmx; import java.io.File; +import java.rmi.NoSuchObjectException; import java.rmi.registry.LocateRegistry; import java.rmi.registry.Registry; +import java.rmi.server.UnicastRemoteObject; import java.util.Collections; import javax.management.MBeanServerFactory; @@ -26,9 +28,11 @@ import javax.management.remote.JMXConnectorServer; import javax.management.remote.JMXConnectorServerFactory; import javax.management.remote.JMXServiceURL; +import org.apache.camel.test.AvailablePortFinder; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; @@ -45,6 +49,9 @@ import static org.junit.jupiter.api.Assertions.assertTrue; */ public class JMXRobustRemoteConnectionTest extends SimpleBeanFixture { + @RegisterExtension + AvailablePortFinder.Port portHolder = AvailablePortFinder.find(); + JMXServiceURL url; JMXConnectorServer connector; Registry registry; @@ -53,6 +60,7 @@ public class JMXRobustRemoteConnectionTest extends SimpleBeanFixture { @BeforeEach @Override public void setUp() throws Exception { + port = portHolder.getPort(); url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://localhost:" + port + "/" + DOMAIN); initContext(); @@ -63,7 +71,17 @@ public class JMXRobustRemoteConnectionTest extends SimpleBeanFixture { @AfterEach public void tearDown() throws Exception { super.tearDown(); - connector.stop(); + if (connector != null) { + connector.stop(); + } + if (registry != null) { + try { + UnicastRemoteObject.unexportObject(registry, true); + } catch (NoSuchObjectException e) { + // Already unexported, ignore + } + registry = null; + } } @Override
