| java.rmi.registry.Registry
Registry | public interface Registry extends Remote(Code) | | Registry is a remote interface to a simple remote
object registry that provides methods for storing and retrieving
remote object references bound with arbitrary string names. The
bind , unbind , and rebind
methods are used to alter the name bindings in the registry, and
the lookup and list methods are used to
query the current name bindings.
In its typical usage, a Registry enables RMI client
bootstrapping: it provides a simple means for a client to obtain an
initial reference to a remote object. Therefore, a registry's
remote object implementation is typically exported with a
well-known address, such as with a well-known
java.rmi.server.ObjID.REGISTRY_ID ObjID and TCP port number
(default is
Registry.REGISTRY_PORT 1099 ).
The
LocateRegistry class provides a programmatic API for
constructing a bootstrap reference to a Registry at a
remote address (see the static getRegistry methods)
and for creating and exporting a Registry in the
current VM on a particular local address (see the static
createRegistry methods).
A Registry implementation may choose to restrict
access to some or all of its methods (for example, methods that
mutate the registry's bindings may be restricted to calls
originating from the local host). If a Registry
method chooses to deny access for a given invocation, its
implementation may throw
java.rmi.AccessException , which
(because it extends
java.rmi.RemoteException ) will be
wrapped in a
java.rmi.ServerException when caught by a
remote client.
The names used for bindings in a Registry are pure
strings, not parsed. A service which stores its remote reference
in a Registry may wish to use a package name as a
prefix in the name binding to reduce the likelihood of name
collisions in the registry.
author: Ann Wollrath author: Peter Jones version: 1.25, 07/05/05 since: JDK1.1 See Also: LocateRegistry |
Field Summary | |
final public static int | REGISTRY_PORT Well known port for registry. |
Method Summary | |
public void | bind(String name, Remote obj) Binds a remote reference to the specified name in
this registry. | public String[] | list() Returns an array of the names bound in this registry. | public Remote | lookup(String name) Returns the remote reference bound to the specified
name in this registry. | public void | rebind(String name, Remote obj) Replaces the binding for the specified name in
this registry with the supplied remote reference. | public void | unbind(String name) Removes the binding for the specified name in
this registry. |
REGISTRY_PORT | final public static int REGISTRY_PORT(Code) | | Well known port for registry.
|
bind | public void bind(String name, Remote obj) throws RemoteException, AlreadyBoundException, AccessException(Code) | | Binds a remote reference to the specified name in
this registry.
Parameters: name - the name to associate with the remote reference Parameters: obj - a reference to a remote object (usually a stub) throws: AlreadyBoundException - if name is already bound throws: RemoteException - if remote communication with theregistry failed; if exception is a ServerException containing an AccessException , then the registrydenies the caller access to perform this operation (iforiginating from a non-local host, for example) throws: AccessException - if this registry is local and it deniesthe caller access to perform this operation throws: NullPointerException - if name isnull , or if obj is null |
list | public String[] list() throws RemoteException, AccessException(Code) | | Returns an array of the names bound in this registry. The
array will contain a snapshot of the names bound in this
registry at the time of the given invocation of this method.
an array of the names bound in this registry throws: RemoteException - if remote communication with theregistry failed; if exception is a ServerException containing an AccessException , then the registrydenies the caller access to perform this operation throws: AccessException - if this registry is local and it deniesthe caller access to perform this operation |
lookup | public Remote lookup(String name) throws RemoteException, NotBoundException, AccessException(Code) | | Returns the remote reference bound to the specified
name in this registry.
Parameters: name - the name for the remote reference to look up a reference to a remote object throws: NotBoundException - if name is not currently bound throws: RemoteException - if remote communication with theregistry failed; if exception is a ServerException containing an AccessException , then the registrydenies the caller access to perform this operation throws: AccessException - if this registry is local and it deniesthe caller access to perform this operation throws: NullPointerException - if name is null |
rebind | public void rebind(String name, Remote obj) throws RemoteException, AccessException(Code) | | Replaces the binding for the specified name in
this registry with the supplied remote reference. If there is
an existing binding for the specified name , it is
discarded.
Parameters: name - the name to associate with the remote reference Parameters: obj - a reference to a remote object (usually a stub) throws: RemoteException - if remote communication with theregistry failed; if exception is a ServerException containing an AccessException , then the registrydenies the caller access to perform this operation (iforiginating from a non-local host, for example) throws: AccessException - if this registry is local and it deniesthe caller access to perform this operation throws: NullPointerException - if name isnull , or if obj is null |
unbind | public void unbind(String name) throws RemoteException, NotBoundException, AccessException(Code) | | Removes the binding for the specified name in
this registry.
Parameters: name - the name of the binding to remove throws: NotBoundException - if name is not currently bound throws: RemoteException - if remote communication with theregistry failed; if exception is a ServerException containing an AccessException , then the registrydenies the caller access to perform this operation (iforiginating from a non-local host, for example) throws: AccessException - if this registry is local and it deniesthe caller access to perform this operation throws: NullPointerException - if name is null |
|
|