| |||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Registry registry = LocateRegistry.getRegistry();
Based on 23 examples
Registry registry = LocateRegistry.getRegistry(2002);
Based on 22 examples
String host = …;
int port = …;
Registry registry = LocateRegistry.getRegistry(host, port);
Based on 20 examples
public interface Registry extends Remote
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 {@link
java.rmi.server.ObjID#REGISTRY_ID ObjID} and TCP port number
(default is {@link #REGISTRY_PORT 1099}).
The {@link 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 {@link java.rmi.AccessException}, which
(because it extends {@link java.rmi.RemoteException}) will be
wrapped in a {@link 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.
Field Summary | |
---|---|
static int |
REGISTRY_PORT
Well known port for registry. |
Method Summary | |
---|---|
void |
Binds a remote reference to the specified name in
this registry.
|
String[] |
list() Returns an array of the names bound in this registry. |
Remote |
Returns the remote reference bound to the specified name in this registry.
|
void |
Replaces the binding for the specified name in
this registry with the supplied remote reference.
|
void |
Removes the binding for the specified name in
this registry.
|
Field Detail |
---|
public static final int REGISTRY_PORT
Method Detail |
---|
public void bind(String name, Remote obj) throws RemoteException, AlreadyBoundException, AccessException
name
in
this registry.
name
- the name to associate with the remote referenceobj
- a reference to a remote object (usually a stub)RemoteException
- if remote communication with the
registry failed; if exception is a ServerException
containing an AccessException
, then the registry
denies the caller access to perform this operation (if
originating from a non-local host, for example)AlreadyBoundException
- if name
is already boundAccessException
- if this registry is local and it denies
the caller access to perform this operationpublic String[] list() throws RemoteException, AccessException
RemoteException
- if remote communication with the
registry failed; if exception is a ServerException
containing an AccessException
, then the registry
denies the caller access to perform this operationAccessException
- if this registry is local and it denies
the caller access to perform this operationpublic Remote lookup(String name) throws RemoteException, NotBoundException, AccessException
name
in this registry.
name
- the name for the remote reference to look upRemoteException
- if remote communication with the
registry failed; if exception is a ServerException
containing an AccessException
, then the registry
denies the caller access to perform this operationNotBoundException
- if name
is not currently boundAccessException
- if this registry is local and it denies
the caller access to perform this operationpublic void rebind(String name, Remote obj) throws RemoteException, AccessException
name
in
this registry with the supplied remote reference. If there is
an existing binding for the specified name
, it is
discarded.
name
- the name to associate with the remote referenceobj
- a reference to a remote object (usually a stub)RemoteException
- if remote communication with the
registry failed; if exception is a ServerException
containing an AccessException
, then the registry
denies the caller access to perform this operation (if
originating from a non-local host, for example)AccessException
- if this registry is local and it denies
the caller access to perform this operationpublic void unbind(String name) throws RemoteException, NotBoundException, AccessException
name
in
this registry.
name
- the name of the binding to removeRemoteException
- if remote communication with the
registry failed; if exception is a ServerException
containing an AccessException
, then the registry
denies the caller access to perform this operation (if
originating from a non-local host, for example)NotBoundException
- if name
is not currently boundAccessException
- if this registry is local and it denies
the caller access to perform this operation
| |||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |