提交 98b9bc3e 编写于 作者: I igerasim

8005226: java/rmi/transport/pinClientSocketFactory/PinClientSocketFactory.java fails intermittently

Reviewed-by: rriggs, smarks
上级 b3f899b4
......@@ -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.
*
......
......@@ -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<CSF> registryRef = new WeakReference<CSF>(csf);
Registry registryStub = LocateRegistry.getRegistry("", PORT, csf);
Registry registryStub = LocateRegistry.getRegistry("", port, csf);
csf = null;
registryStub.list();
registryStub = null;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册