- java.lang.Object
-
- java.rmi.Naming
-
public final class Naming extends Object
TheNamingclass provides methods for storing and obtaining references to remote objects in a remote object registry. Each method of theNamingclass takes as one of its arguments a name that is ajava.lang.Stringin URL format (without the scheme component) of the form://host:port/namewhere
hostis the host (remote or local) where the registry is located,portis the port number on which the registry accepts calls, and wherenameis a simple string uninterpreted by the registry. Bothhostandportare optional. Ifhostis omitted, the host defaults to the local host. Ifportis omitted, then the port defaults to 1099, the "well-known" port that RMI's registry,rmiregistry, uses.Binding a name for a remote object is associating or registering a name for a remote object that can be used at a later time to look up that remote object. A remote object can be associated with a name using the
Namingclass'sbindorrebindmethods.Once a remote object is registered (bound) with the RMI registry on the local host, callers on a remote (or local) host can lookup the remote object by name, obtain its reference, and then invoke remote methods on the object. A registry may be shared by all servers running on a host or an individual server process may create and use its own registry if desired (see
java.rmi.registry.LocateRegistry.createRegistrymethod for details).- Since:
- 1.1
- See Also:
Registry,LocateRegistry,LocateRegistry.createRegistry(int)
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidbind(String name, Remote obj)Binds the specifiednameto a remote object.static String[]list(String name)Returns an array of the names bound in the registry.static Remotelookup(String name)Returns a reference, a stub, for the remote object associated with the specifiedname.static voidrebind(String name, Remote obj)Rebinds the specified name to a new remote object.static voidunbind(String name)Destroys the binding for the specified name that is associated with a remote object.
-
-
-
Method Detail
-
lookup
public static Remote lookup(String name) throws NotBoundException, MalformedURLException, RemoteException
Returns a reference, a stub, for the remote object associated with the specifiedname.- Parameters:
name- a name in URL format (without the scheme component)- Returns:
- a reference for a remote object
- Throws:
NotBoundException- if name is not currently boundRemoteException- if registry could not be contactedAccessException- if this operation is not permittedMalformedURLException- if the name is not an appropriately formatted URL- Since:
- 1.1
-
bind
public static void bind(String name, Remote obj) throws AlreadyBoundException, MalformedURLException, RemoteException
Binds the specifiednameto a remote object.- Parameters:
name- a name in URL format (without the scheme component)obj- a reference for the remote object (usually a stub)- Throws:
AlreadyBoundException- if name is already boundMalformedURLException- if the name is not an appropriately formatted URLRemoteException- if registry could not be contactedAccessException- if this operation is not permitted (if originating from a non-local host, for example)- Since:
- 1.1
-
unbind
public static void unbind(String name) throws RemoteException, NotBoundException, MalformedURLException
Destroys the binding for the specified name that is associated with a remote object.- Parameters:
name- a name in URL format (without the scheme component)- Throws:
NotBoundException- if name is not currently boundMalformedURLException- if the name is not an appropriately formatted URLRemoteException- if registry could not be contactedAccessException- if this operation is not permitted (if originating from a non-local host, for example)- Since:
- 1.1
-
rebind
public static void rebind(String name, Remote obj) throws RemoteException, MalformedURLException
Rebinds the specified name to a new remote object. Any existing binding for the name is replaced.- Parameters:
name- a name in URL format (without the scheme component)obj- new remote object to associate with the name- Throws:
MalformedURLException- if the name is not an appropriately formatted URLRemoteException- if registry could not be contactedAccessException- if this operation is not permitted (if originating from a non-local host, for example)- Since:
- 1.1
-
list
public static String[] list(String name) throws RemoteException, MalformedURLException
Returns an array of the names bound in the registry. The names are URL-formatted (without the scheme component) strings. The array contains a snapshot of the names present in the registry at the time of the call.- Parameters:
name- a registry name in URL format (without the scheme component)- Returns:
- an array of names (in the appropriate format) bound in the registry
- Throws:
MalformedURLException- if the name is not an appropriately formatted URLRemoteException- if registry could not be contacted.- Since:
- 1.1
-
-