LocateRegistry (Java SE 9 & JDK 9 )
Keywords: java.rmi.registry.LocateRegistry class

Module java.rmi
Package java.rmi.registry

## Class LocateRegistry

- java.lang.Object
- - java.rmi.registry.LocateRegistry

-     public final class LocateRegistry
      extends Object

  `LocateRegistry` is used to obtain a reference to a bootstrap remote object registry on a particular host (including the local host), or to create a remote object registry that accepts calls on a specific port.

  Note that a `getRegistry` call does not actually make a connection to the remote host. It simply creates a local reference to the remote registry and will succeed even if no registry is running on the remote host. Therefore, a subsequent method invocation to a remote registry returned as a result of this method may fail.

  Since:
    1.1
  See Also:
    `Registry`

- - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static Registry` | `createRegistry​(int port)` | Creates and exports a `Registry` instance on the local host that accepts requests on the specified `port`.
    `static Registry` | `createRegistry​(int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf)` | Creates and exports a `Registry` instance on the local host that uses custom socket factories for communication with that instance.
    `static Registry` | `getRegistry​()` | Returns a reference to the remote object `Registry` for the local host on the default registry port of 1099.
    `static Registry` | `getRegistry​(int port)` | Returns a reference to the remote object `Registry` for the local host on the specified `port`.
    `static Registry` | `getRegistry​(String host)` | Returns a reference to the remote object `Registry` on the specified `host` on the default registry port of 1099.
    `static Registry` | `getRegistry​(String host, int port)` | Returns a reference to the remote object `Registry` on the specified `host` and `port`.
    `static Registry` | `getRegistry​(String host, int port, RMIClientSocketFactory csf)` | Returns a locally created remote reference to the remote object `Registry` on the specified `host` and `port`.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### getRegistry

          public static Registry getRegistry​()
                                      throws RemoteException

      Returns a reference to the remote object `Registry` for the local host on the default registry port of 1099.
      Returns:
        reference (a stub) to the remote object registry
      Throws:
        `RemoteException` - if the reference could not be created
      Since:
        1.1

    - #### getRegistry

          public static Registry getRegistry​(int port)
                                      throws RemoteException

      Returns a reference to the remote object `Registry` for the local host on the specified `port`.
      Parameters:
        `port` - port on which the registry accepts requests
      Returns:
        reference (a stub) to the remote object registry
      Throws:
        `RemoteException` - if the reference could not be created
      Since:
        1.1

    - #### getRegistry

          public static Registry getRegistry​(String host)
                                      throws RemoteException

      Returns a reference to the remote object `Registry` on the specified `host` on the default registry port of 1099. If `host` is `null`, the local host is used.
      Parameters:
        `host` - host for the remote registry
      Returns:
        reference (a stub) to the remote object registry
      Throws:
        `RemoteException` - if the reference could not be created
      Since:
        1.1

    - #### getRegistry

          public static Registry getRegistry​(String host,
                                             int port)
                                      throws RemoteException

      Returns a reference to the remote object `Registry` on the specified `host` and `port`. If `host` is `null`, the local host is used.
      Parameters:
        `host` - host for the remote registry
        `port` - port on which the registry accepts requests
      Returns:
        reference (a stub) to the remote object registry
      Throws:
        `RemoteException` - if the reference could not be created
      Since:
        1.1

    - #### getRegistry

          public static Registry getRegistry​(String host,
                                             int port,
                                             RMIClientSocketFactory csf)
                                      throws RemoteException

      Returns a locally created remote reference to the remote object `Registry` on the specified `host` and `port`. Communication with this remote registry will use the supplied `RMIClientSocketFactory` `csf` to create `Socket` connections to the registry on the remote `host` and `port`.
      Parameters:
        `host` - host for the remote registry
        `port` - port on which the registry accepts requests
        `csf` - client-side `Socket` factory used to make connections to the registry. If `csf` is null, then the default client-side `Socket` factory will be used in the registry stub.
      Returns:
        reference (a stub) to the remote registry
      Throws:
        `RemoteException` - if the reference could not be created
      Since:
        1.2

    - #### createRegistry

          public static Registry createRegistry​(int port)
                                         throws RemoteException

      Creates and exports a `Registry` instance on the local host that accepts requests on the specified `port`.

      The `Registry` instance is exported as if the static `UnicastRemoteObject.exportObject` method is invoked, passing the `Registry` instance and the specified `port` as arguments, except that the `Registry` instance is exported with a well-known object identifier, an `ObjID` instance constructed with the value `ObjID.REGISTRY_ID`.

      Parameters:
        `port` - the port on which the registry accepts requests
      Returns:
        the registry
      Throws:
        `RemoteException` - if the registry could not be exported
      Since:
        1.1

    - #### createRegistry

          public static Registry createRegistry​(int port,
                                                RMIClientSocketFactory csf,
                                                RMIServerSocketFactory ssf)
                                         throws RemoteException

      Creates and exports a `Registry` instance on the local host that uses custom socket factories for communication with that instance. The registry that is created listens for incoming requests on the given `port` using a `ServerSocket` created from the supplied `RMIServerSocketFactory`.

      The `Registry` instance is exported as if the static `UnicastRemoteObject.exportObject` method is invoked, passing the `Registry` instance, the specified `port`, the specified `RMIClientSocketFactory`, and the specified `RMIServerSocketFactory` as arguments, except that the `Registry` instance is exported with a well-known object identifier, an `ObjID` instance constructed with the value `ObjID.REGISTRY_ID`.

      Parameters:
        `port` - port on which the registry accepts requests
        `csf` - client-side `Socket` factory used to make connections to the registry
        `ssf` - server-side `ServerSocket` factory used to accept connections to the registry
      Returns:
        the registry
      Throws:
        `RemoteException` - if the registry could not be exported
      Since:
        1.2