test/java/rmi/registry/multipleRegistries/MultipleRegistries.java

Print this page

        

@@ -24,10 +24,12 @@
 /* @test
  * @bug 4267864
  * @summary Can't run multiple registries in the same VM
  * @author Ann Wollrath
  *
+ * @library ../../testlibrary
+ * @build TestLibrary
  * @build MultipleRegistries
  * @run main/othervm/timeout=240 MultipleRegistries
  */
 
 import java.rmi.Remote;

@@ -56,16 +58,19 @@
                 (RemoteInterface) UnicastRemoteObject.exportObject(server, 0);
 
             System.err.println("proxy = " + proxy);
 
             System.err.println("export registries");
-            Registry registryImpl1 = LocateRegistry.createRegistry(2030);
-            Registry registryImpl2 = LocateRegistry.createRegistry(2040);
+            Registry registryImpl1 = TestLibrary.createRegistryOnUnusedPort();
+            int port1 = TestLibrary.getRegistryPort(registryImpl1);
+            // Need to get a random port for the second registry.
+            int port2 = TestLibrary.getUnusedRandomPort();
+            Registry registryImpl2 = LocateRegistry.createRegistry(port2);
 
             System.err.println("bind remote object in registries");
-            Registry registry1 = LocateRegistry.getRegistry(2030);
-            Registry registry2 = LocateRegistry.getRegistry(2040);
+            Registry registry1 = LocateRegistry.getRegistry(port1);
+            Registry registry2 = LocateRegistry.getRegistry(port2);
 
             registry1.bind(NAME, proxy);
             registry2.bind(NAME, proxy);
 
             System.err.println("lookup remote object in registries");