|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.rmi.registry
接口 Registry
- 所有超级接口:
- Remote
-
public interface Registry
- extends Remote
Registry
是简单远程对象注册表的一个远程接口,它提供存储和检索绑定了任意字符串名称的远程对象引用的方法。bind
、unbind
和 rebind
方法用于改变注册表中的名称绑定,lookup
和 list
方法用于查询当前的名称绑定。
在其典型用法中,Registry
启用 RMI 客户机引导:它为客户机提供获得对远程对象的初始引用的简单方式。因此,导出的注册表的远程对象实现通常具有已知的地址,如具有已知的 ObjID
和 TCP 端口号(默认为 1099
)。
LocateRegistry
类提供的一个可编程的 API,以便构造对远程地址上的 Registry
的引导引用(请参阅静态 getRegistry
方法),以及在当前 VM 所在的特定本地地址创建和导出 Registry
(请参阅静态 createRegistry
方法)。
Registry
实现可以选择限制对其中的某些或全部方法的访问(例如,可以限制改变注册表绑定的方法来限制对本地主机发起的调用)。如果 Registry
方法选择拒绝对给定调用的访问,则其实现可能抛出 AccessException
,抛出的这一异常(因为它扩展 RemoteException
)可能会在远程客户端捕获它时包装在 ServerException
中。
在 Registry
中用于绑定的名称是纯字符串,不是经过分析的。在 Registry
中存储其远程引用的服务可能希望将包名称用作名称绑定中的前缀,以减少注册表中可能的名称冲突。
- 从以下版本开始:
- JDK1.1
- 另请参见:
-
LocateRegistry
字段摘要 | |
---|---|
static int |
REGISTRY_PORT 已知的注册表端口。 |
方法摘要 | |
---|---|
void |
bind(String name, Remote obj) 绑定对此注册表中指定 name 的远程引用。 |
String[] |
list() 返回在此注册表中绑定的名称的数组。 |
Remote |
lookup(String name) 返回注册表中绑定到指定 name 的远程引用。 |
void |
rebind(String name, Remote obj) 用提供的远程引用替换此注册表中指定的 name 绑定。 |
void |
unbind(String name) 移除此注册表中指定的 name 绑定。 |
字段详细信息 |
---|
REGISTRY_PORT
static final int REGISTRY_PORT
-
已知的注册表端口。
- 另请参见:
- 常量字段值
方法详细信息 |
---|
lookup
Remote lookup(String name) throws RemoteException, NotBoundException, AccessException
-
返回注册表中绑定到指定
name
的远程引用。 -
-
- 参数:
-
name
- 要查找的远程引用的名称 - 返回:
- 对远程对象的引用
- 抛出:
-
NotBoundException
- 如果当前未绑定name
-
RemoteException
- 如果与注册表的远程通信失败;如果异常是包含AccessException
的ServerException
,则注册表拒绝调用方对执行此操作的访问。 -
AccessException
- 如果此注册表是本地的,并且它拒绝调用方对执行此操作的访问 -
NullPointerException
- 如果name
为null
bind
void bind(String name, Remote obj) throws RemoteException, AlreadyBoundException, AccessException
-
绑定对此注册表中指定
name
的远程引用。 -
-
- 参数:
-
name
- 与该远程引用相关的名称 -
obj
- 对远程对象(通常是一个 stub)的引用 - 抛出:
-
AlreadyBoundException
- 如果已经绑定了name
-
RemoteException
- 如果与注册表的远程通信失败;如果异常是包含AccessException
的ServerException
,则注册表拒绝调用方对执行此操作的访问(例如,发起的操作来自非本地主机) -
AccessException
- 如果此注册表是本地的,并且它拒绝调用方对执行此操作的访问 -
NullPointerException
- 如果name
为null
,或者如果obj
为null
unbind
void unbind(String name) throws RemoteException, NotBoundException, AccessException
-
移除此注册表中指定的
name
绑定。 -
-
- 参数:
-
name
- 要移除的绑定名称 - 抛出:
-
NotBoundException
- 如果当前未绑定name
-
RemoteException
- 如果与注册表的远程通信失败;如果异常是包含AccessException
的ServerException
,则注册表拒绝调用方对执行此操作的访问(例如,发起的操作来自非本地主机) -
AccessException
- 如果此注册表是本地的,并且它拒绝调用方对执行此操作的访问 -
NullPointerException
- 如果name
为null
rebind
void rebind(String name, Remote obj) throws RemoteException, AccessException
-
用提供的远程引用替换此注册表中指定的
name
绑定。如果存在指定name
的现有绑定,则会丢弃此现有的绑定。 -
-
- 参数:
-
name
- 与该远程引用相关的名称 -
obj
- 对远程对象(通常是一个 stub)的引用 - 抛出:
-
RemoteException
- 如果与注册表的远程通信失败;如果异常是包含AccessException
的ServerException
,则注册表拒绝调用方对执行此操作的访问(例如,发起的操作来自非本地主机) -
AccessException
- 如果此注册表是本地的,并且它拒绝调用方对执行此操作的访问 -
NullPointerException
- 如果name
为null
,或者如果obj
为null
list
String[] list() throws RemoteException, AccessException
- 返回在此注册表中绑定的名称的数组。该数组将包含一个此注册表中调用此方法时绑定的名称快照。
-
-
- 返回:
- 此注册表中绑定名称的数组
- 抛出:
-
RemoteException
- 如果与注册表的远程通信失败;如果异常是包含AccessException
的ServerException
,则注册表拒绝调用方对执行此操作的访问。 -
AccessException
- 如果此注册表是本地的,并且它拒绝调用方对执行此操作的访问
所有类
|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |