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

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 declared in class java.lang.Object

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

## Method Details

### 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