Top Description Inners Constructors Methods
java.rmi

public final Class Naming

extends Object
Class Inheritance
Imports
java.rmi.registry.*, java.net.MalformedURLException, .URI, .URISyntaxException

The Naming class provides methods for storing and obtaining references to remote objects in a remote object registry. Each method of the Naming class takes as one of its arguments a name that is a java.lang.String in URL format (without the scheme component) of the form:
   //host:port/name

where host is the host (remote or local) where the registry is located, port is the port number on which the registry accepts calls, and where name is a simple string uninterpreted by the registry. Both host and port are optional. If host is omitted, the host defaults to the local host. If port is 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 Naming class's bind or rebind methods.

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.createRegistry method for details).

Authors
Ann Wollrath, Roger Riggs
Since
1.1
See Also
java.rmi.registry.Registry, java.rmi.registry.LocateRegistry, java.rmi.registry.LocateRegistry#createRegistry(int)

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
Naming.ParsedNamingURL

Simple class to enable multiple URL return values.

Constructor Summary

AccessConstructor and Description
private
Naming()

Disallow anyone from creating one of these

Method Summary

Modifier and TypeMethod and Description
public static void
bind(String
a name in URL format (without the scheme component)
name
,
Remote
a reference for the remote object (usually a stub)
obj
)

Binds the specified name to a remote object.

private static Registry
getRegistry(Naming.ParsedNamingURL parsed)

Returns a registry reference obtained from information in the URL.

private static Naming.ParsedNamingURL
public static String[]

Returns:

an array of names (in the appropriate format) bound in the registry
list
(String
a registry name in URL format (without the scheme component)
name
)

Returns an array of the names bound in the registry.

public static Remote

Returns:

a reference for a remote object
lookup
(String
a name in URL format (without the scheme component)
name
)

Returns a reference, a stub, for the remote object associated with the specified name.

private static Naming.ParsedNamingURL

Returns:

an object which contains each of the above components.
parseURL
(String str)

Dissect Naming URL strings to obtain referenced host, port and object name.

public static void
rebind(String
a name in URL format (without the scheme component)
name
,
Remote
new remote object to associate with the name
obj
)

Rebinds the specified name to a new remote object.

public static void
unbind(String
a name in URL format (without the scheme component)
name
)

Destroys the binding for the specified name that is associated with a remote object.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

Namingback to summary
private Naming()

Disallow anyone from creating one of these

Method Detail

bindback to summary
public static void bind(String name, Remote obj) throws AlreadyBoundException, MalformedURLException, RemoteException

Binds the specified name to a remote object.

Parameters
name:String

a name in URL format (without the scheme component)

obj:Remote

a reference for the remote object (usually a stub)

Exceptions
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
1.1
getRegistryback to summary
private static Registry getRegistry(Naming.ParsedNamingURL parsed) throws RemoteException

Returns a registry reference obtained from information in the URL.

intParseURLback to summary
private static Naming.ParsedNamingURL intParseURL(String str) throws MalformedURLException, URISyntaxException
listback to summary
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:String

a registry name in URL format (without the scheme component)

Returns:String[]

an array of names (in the appropriate format) bound in the registry

Exceptions
RemoteException:
if registry could not be contacted.
MalformedURLException:
if the name is not an appropriately formatted URL
Since
1.1
lookupback to summary
public static Remote lookup(String name) throws NotBoundException, MalformedURLException, RemoteException

Returns a reference, a stub, for the remote object associated with the specified name.

Parameters
name:String

a name in URL format (without the scheme component)

Returns:Remote

a reference for a remote object

Exceptions
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
Since
1.1
parseURLback to summary
private static Naming.ParsedNamingURL parseURL(String str) throws MalformedURLException

Dissect Naming URL strings to obtain referenced host, port and object name.

Returns:Naming.ParsedNamingURL

an object which contains each of the above components.

Exceptions
MalformedURLException:
if given url string is malformed
rebindback to summary
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:String

a name in URL format (without the scheme component)

obj:Remote

new remote object to associate with the name

Exceptions
RemoteException:
if registry could not be contacted
MalformedURLException:
if the name is not an appropriately formatted URL
AccessException:
if this operation is not permitted (if originating from a non-local host, for example)
Since
1.1
unbindback to summary
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:String

a name in URL format (without the scheme component)

Exceptions
RemoteException:
if registry could not be contacted
NotBoundException:
if name is not currently bound
MalformedURLException:
if the name is not an appropriately formatted URL
AccessException:
if this operation is not permitted (if originating from a non-local host, for example)
Since
1.1
java.rmi back to summary

private Class Naming.ParsedNamingURL

extends Object
Class Inheritance

Simple class to enable multiple URL return values.

Field Summary

Modifier and TypeField and Description
pack-priv String
pack-priv String
pack-priv int

Constructor Summary

AccessConstructor and Description
pack-priv
ParsedNamingURL(String host, int port, String name)

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

hostback to summary
pack-priv String host
nameback to summary
pack-priv String name
portback to summary
pack-priv int port

Constructor Detail

ParsedNamingURLback to summary
pack-priv ParsedNamingURL(String host, int port, String name)