public interface Registry extends Remote
Registry
是远程接口的一个简单的远程对象注册表,用于存储和检索远程对象绑定任意字符串名称提供方法。的
bind
,
unbind
,和
rebind
方法用于在注册表中修改名字的绑定,和
lookup
和
list
方法用于查询当前名称绑定。
在典型的用法,一Registry
使RMI客户引导:它提供了一个客户端获得一个初始的远程对象引用的一个简单的方法。因此,注册表的远程对象的实现通常是一个著名的地址输出,如著名的ObjID
和TCP端口号(默认是1099
)。
的LocateRegistry
类提供了构建引导参考一Registry
在远程地址的API(见静getRegistry
方法)和用于创建和出口Registry
在当前虚拟机在一个特定的本地地址(见静createRegistry
方法)。
一个Registry
实现可以选择限制访问的一些或所有的方法(例如,方法,突变处的绑定可以被限制为从本地主机的电话)。如果一个Registry
方法选择拒绝访问,对于一个给定的调用,实现可抛AccessException
,它(因为它延伸RemoteException
)将被包裹在一个ServerException
当被远程客户端。
用于在Registry
绑定的名字是纯字符串,而不是解析。一种服务,将参考一Registry
不妨使用包名作为结合减少注册表中的名称冲突的可能性的名称前缀。
LocateRegistry
Modifier and Type | Field and Description |
---|---|
static int |
REGISTRY_PORT
注册的众所周知的端口。
|
Modifier and Type | Method and Description |
---|---|
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 。
|
static final int REGISTRY_PORT
Remote lookup(String name) throws RemoteException, NotBoundException, AccessException
name
。
name
-查找远程引用的名称
NotBoundException
-如果
name
尚未绑定
RemoteException
-如果注册表远程通信失败;如果是一个例外,
ServerException
含有
AccessException
,然后注册表拒绝接入执行此操作
AccessException
-如果此注册表局部否认接入执行此操作
null
name
NullPointerException
void bind(String name, Remote obj) throws RemoteException, AlreadyBoundException, AccessException
name
远程引用。
name
-名称与远程参考副
obj
-远程对象引用(通常是一个存根)
name
AlreadyBoundException
已绑定
RemoteException
-如果注册表远程通信失败;如果是一个例外,
ServerException
含有
AccessException
,然后注册表拒绝接入执行此操作(如果来自于非本地主机,例如)
AccessException
-如果此注册表局部否认接入执行此操作
NullPointerException
-如果
name
是
null
,或者如果
obj
是
null
void unbind(String name) throws RemoteException, NotBoundException, AccessException
name
。
name
-绑定的名称删除
NotBoundException
-如果
name
尚未绑定
RemoteException
-如果注册表远程通信失败;如果是一个例外,
ServerException
含有
AccessException
,然后注册表拒绝接入执行此操作(如果来自于非本地主机,例如)
AccessException
-如果此注册表局部否认接入执行此操作
null
name
NullPointerException
void rebind(String name, Remote obj) throws RemoteException, AccessException
name
结合在注册表中提供的远程引用。如果有一个现有的结合为指定的
name
,就丢弃。
name
-名称与远程参考副
obj
-远程对象引用(通常是一个存根)
RemoteException
-如果注册表远程通信失败;如果是一个例外,
ServerException
含有
AccessException
,然后注册表拒绝接入执行此操作(如果来自于非本地主机,例如)
AccessException
-如果此注册表局部否认接入执行此操作
NullPointerException
-如果
name
是
null
,或者如果
obj
是
null
String[] list() throws RemoteException, AccessException
RemoteException
-如果注册表远程通信失败;如果是一个例外,
ServerException
含有
AccessException
,然后注册表拒绝接入执行此操作
AccessException
-如果此注册表局部否认接入执行此操作
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.