Java Platform 1.2

java.rmi.registry
Interface Registry


public abstract interface Registry
extends Remote

For obtaining references to remote objects, RMI provides a simple remote object registry interface, implemented by RMI's rmiregistry, that provides methods for storing and retrieving remote object references. The java.rmi.Naming class provides methods to access a remote object registry using URL-formatted names to specify in a compact format both the remote registry along with the name for the remote object.

Typically a "registry" exists on every node that allows RMI connections to servers on that node. A registry on a particular node contains a transient database that maps names to remote objects. When a registry starts up, the registry database is empty. The names stored in the registry are pure and are not parsed. A service storing itself in the registry may want to prefix its name of the service by a package name (although not required), to reduce name collisions in the registry.

To create a registry that runs in an application, use one of the LocateRegistry.createRegistry methods. To obtain a reference to a remote object registry, use one of the LocateRegistry.getRegistry methods.

Since:
JDK1.1
See Also:
Naming, LocateRegistry

Field Summary
static int REGISTRY_PORT
          Well known port for registry
 
Method Summary
 void bind(String name, Remote obj)
          Binds the specified name to a remote object.
 String[] list()
          Returns an array of the names bound in the registry.
 Remote lookup(String name)
          Returns a reference, a stub, for the remote object associated with the specified name.
 void rebind(String name, Remote obj)
          Rebinds the specified name to a new remote object.
 void unbind(String name)
          Destroys the binding for the specified name that is associated with a remote object.
 

Field Detail

REGISTRY_PORT

public static final int REGISTRY_PORT
Well known port for registry
Method Detail

lookup

public Remote lookup(String name)
              throws RemoteException,
                     NotBoundException,
                     AccessException
Returns a reference, a stub, for the remote object associated with the specified name.
Parameters:
name - a URL-formatted name for the remote object
Returns:
a reference for a remote object
Throws:
NotBoundException - if name is not currently bound
RemoteException - if registry could not be contacted
AccessException - if this operation is not permitted (if originating from a non-local host, for example)
Since:
JDK1.1

bind

public void bind(String name,
                 Remote obj)
          throws RemoteException,
                 AlreadyBoundException,
                 AccessException
Binds the specified name to a remote object.
Parameters:
name - a URL-formatted name for the remote object
obj - a reference for the remote object (usually a stub)
Throws:
AlreadyBoundException - if name is already bound
MalformedURLException - if the name is not an appropriately formatted URL
RemoteException - if registry could not be contacted
AccessException - if this operation is not permitted (if originating from a non-local host, for example)
Since:
JDK1.1

unbind

public void unbind(String name)
            throws RemoteException,
                   NotBoundException,
                   AccessException
Destroys the binding for the specified name that is associated with a remote object.
Parameters:
name - a URL-formatted name associated with a remote object
Throws:
NotBoundException - if name is not currently bound
MalformedURLException - if the name is not an appropriately formatted URL
RemoteException - if registry could not be contacted
AccessException - if this operation is not permitted (if originating from a non-local host, for example)
Since:
JDK1.1

rebind

public void rebind(String name,
                   Remote obj)
            throws RemoteException,
                   AccessException
Rebinds the specified name to a new remote object. Any existing binding for the name is replaced.
Parameters:
name - a URL-formatted name associated with the remote object
obj - new remote object to associate with the name
Throws:
MalformedURLException - if the name is not an appropriately formatted URL
RemoteException - if registry could not be contacted
AccessException - if this operation is not permitted (if originating from a non-local host, for example)
Since:
JDK1.1

list

public String[] list()
              throws RemoteException,
                     AccessException
Returns an array of the names bound in the registry. The names are URL-formatted strings. The array contains a snapshot of the names present in the registry at the time of the call.
Parameters:
name - a URL-formatted name that specifies the remote registry
Returns:
an array of names (in the appropriate URL format) bound in the registry
Throws:
MalformedURLException - if the name is not an appropriately formatted URL
RemoteException - if registry could not be contacted
Since:
JDK1.1

Java Platform 1.2

Submit a bug or feature Version 1.2 of Java Platform API Specification
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.