diff --git a/test/java/rmi/testlibrary/TestLibrary.java b/test/java/rmi/testlibrary/TestLibrary.java index 8c28b8994abbac6be8eedf1e693a989ba127909e..67678629e91b3eef4df67cb44feb8547be3e568a 100644 --- a/test/java/rmi/testlibrary/TestLibrary.java +++ b/test/java/rmi/testlibrary/TestLibrary.java @@ -382,6 +382,16 @@ public class TestLibrary { return LocateRegistry.createRegistry(getUnusedRandomPort()); } + /** + * Creates an RMI {@link Registry} on an ephemeral port. + * + * @returns an RMI Registry + * @throws RemoteException if there was a problem creating a Registry. + */ + public static Registry createRegistryOnEphemeralPort() throws RemoteException { + return LocateRegistry.createRegistry(0); + } + /** * Returns the port number the RMI {@link Registry} is running on. * diff --git a/test/java/rmi/transport/pinClientSocketFactory/PinClientSocketFactory.java b/test/java/rmi/transport/pinClientSocketFactory/PinClientSocketFactory.java index 99357ffdb0bccf4cd91969129cf6f7550abfa4a6..51dc4c849b4602a171b25f119a666a7a534eb52a 100644 --- a/test/java/rmi/transport/pinClientSocketFactory/PinClientSocketFactory.java +++ b/test/java/rmi/transport/pinClientSocketFactory/PinClientSocketFactory.java @@ -58,7 +58,6 @@ import java.util.concurrent.atomic.AtomicInteger; public class PinClientSocketFactory { - private static final int PORT = TestLibrary.getUnusedRandomPort(); private static final int SESSIONS = 50; public interface Factory extends Remote { @@ -96,10 +95,13 @@ public class PinClientSocketFactory { } UnicastRemoteObject.unexportObject(factoryImpl, true); - Registry registryImpl = LocateRegistry.createRegistry(PORT); + Registry registryImpl = TestLibrary.createRegistryOnEphemeralPort(); + int port = TestLibrary.getRegistryPort(registryImpl); + System.out.println("Registry listening on port " + port); + CSF csf = new CSF(); Reference registryRef = new WeakReference(csf); - Registry registryStub = LocateRegistry.getRegistry("", PORT, csf); + Registry registryStub = LocateRegistry.getRegistry("", port, csf); csf = null; registryStub.list(); registryStub = null;