java.lang.Object
java.rmi.Naming
Naming
类提供了用于在远程对象注册表中存储和获取远程对象引用的方法。 Naming
类的每个方法都将一个名称作为其参数之一,该名称是一个URL格式的java.lang.String
,格式如下:
//host:port/name
其中host
是注册表所在的主机(远程或本地),port
是注册表接受调用的端口号,name
是注册表不解释的简单字符串。 host
和port
都是可选的。如果省略host
,则默认为本地主机。如果省略port
,则默认为1099,即RMI注册表rmiregistry
使用的“众所周知”端口。
为远程对象绑定名称是将一个名称与可以在以后查找该远程对象的远程对象关联或注册的过程。可以使用Naming
类的bind
或rebind
方法将远程对象与名称关联。
一旦远程对象在本地主机上的RMI注册表中注册(绑定),远程(或本地)主机上的调用者可以按名称查找远程对象,获取其引用,然后调用对象上的远程方法。一个注册表可以被所有在主机上运行的服务器共享,或者如果需要的话,一个单独的服务器进程可以创建和使用自己的注册表(有关详细信息,请参见java.rmi.registry.LocateRegistry.createRegistry
方法)。
- 自版本:
- 1.1
- 参见:
-
Method Details
-
lookup
public static Remote lookup(String name) throws NotBoundException, MalformedURLException, RemoteException 返回与指定name
关联的远程对象的引用,即存根。- 参数:
-
name
- 以URL格式(不包含方案组件)的名称 - 返回:
- 远程对象的引用
- 抛出:
-
NotBoundException
- 如果名称当前未绑定 -
RemoteException
- 如果无法联系到注册表 -
AccessException
- 如果不允许此操作 -
MalformedURLException
- 如果名称格式不正确 - 自版本:
- 1.1
-
bind
public static void bind(String name, Remote obj) throws AlreadyBoundException, MalformedURLException, RemoteException 将指定的name
绑定到远程对象。- 参数:
-
name
- 以URL格式(不包含方案组件)的名称 -
obj
- 远程对象的引用(通常是存根) - 抛出:
-
AlreadyBoundException
- 如果名称已经绑定 -
MalformedURLException
- 如果名称格式不正确 -
RemoteException
- 如果无法联系到注册表 -
AccessException
- 如果不允许此操作(例如,如果来自非本地主机) - 自版本:
- 1.1
-
unbind
public static void unbind(String name) throws RemoteException, NotBoundException, MalformedURLException 销毁与指定名称关联的远程对象的绑定。- 参数:
-
name
- 以URL格式(不包含方案组件)的名称 - 抛出:
-
NotBoundException
- 如果名称当前未绑定 -
MalformedURLException
- 如果名称格式不正确 -
RemoteException
- 如果无法联系到注册表 -
AccessException
- 如果不允许此操作(例如,如果来自非本地主机) - 自版本:
- 1.1
-
rebind
将指定名称重新绑定到新的远程对象。替换名称的任何现有绑定。- 参数:
-
name
- 以URL格式(不包含方案组件)的名称 -
obj
- 要与名称关联的新远程对象 - 抛出:
-
MalformedURLException
- 如果名称格式不正确 -
RemoteException
- 如果无法联系到注册表 -
AccessException
- 如果不允许此操作(例如,如果来自非本地主机) - 自版本:
- 1.1
-
list
返回注册表中绑定的名称数组。这些名称是URL格式(不包含方案组件)的字符串。数组包含调用时注册表中存在的名称的快照。- 参数:
-
name
- 以URL格式(不包含方案组件)的注册表名称 - 返回:
- 注册表中绑定的名称数组(以适当的格式)
- 抛出:
-
MalformedURLException
- 如果名称格式不正确 -
RemoteException
- 如果无法联系到注册表 - 自版本:
- 1.1
-