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
`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 declared in 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