java.lang.Object java.rmi.Naming
public final class Naming
Naming
类提供在对象注册表中存储和获得远程对远程对象引用的方法。Naming
类的每个方法都可将某个名称作为其一个参数,该名称是使用以下形式的 URL 格式(没有 scheme 组件)的 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
)。
Registry
,
LocateRegistry
,
LocateRegistry.createRegistry(int)
方法摘要 | |
---|---|
static void |
bind(String name, Remote obj) 将指定 name 绑定到远程对象。 |
static String[] |
list(String name) 返回在注册表中绑定的名称所组成的数组。 |
static Remote |
lookup(String name) 返回与指定 name 关联的远程对象的引用(一个 stub)。 |
static void |
rebind(String name, Remote obj) 将指定名称重新绑定到一个新的远程对象。 |
static void |
unbind(String name) 销毁与远程对象关联的指定名称的绑定。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
方法详细信息 |
---|
public static Remote lookup(String name) throws NotBoundException, MalformedURLException, RemoteException
name
关联的远程对象的引用(一个 stub)。
name
- 使用 URL 格式(不含 scheme 组件)的名称
NotBoundException
- 如果当前未绑定名称
RemoteException
- 如果无法联系注册表
AccessException
- 如果不允许执行此操作
MalformedURLException
- 如果名称不是适当格式化的 URL
public static void bind(String name, Remote obj) throws AlreadyBoundException, MalformedURLException, RemoteException
name
绑定到远程对象。
name
- 使用 URL 格式(不含 scheme 组件)的名称
obj
- 远程对象的引用(通常是一个 stub)
AlreadyBoundException
- 如果已经绑定了名称
MalformedURLException
- 如果该名称不是适当格式化的 URL
RemoteException
- 如果无法联系注册表
AccessException
- 如果不允许进行此操作(例如,如果起源于非本地主机)
public static void unbind(String name) throws RemoteException, NotBoundException, MalformedURLException
name
- 使用 URL 格式(不含 scheme 组件)的名称
NotBoundException
- 如果当前未绑定名称
MalformedURLException
- 如果该名称不是适当格式化的 URL
RemoteException
- 如果无法联系注册表
AccessException
- 如果不允许进行此操作(例如,如果起源于非本地主机)
public static void rebind(String name, Remote obj) throws RemoteException, MalformedURLException
name
- 使用 URL 格式(不含 scheme 组件)
obj
- 将与名称关联的新远程对象
MalformedURLException
- 如果该名称不是适当格式化的 URL
RemoteException
- 如果无法联系注册表
AccessException
- 如果不允许执行此操作(例如,如果起源于非本地主机)
public static String[] list(String name) throws RemoteException, MalformedURLException
name
- 使用 URL 格式(不含 scheme 组件)的注册表名称
MalformedURLException
- 如果该名称不是适当格式化的 URL
RemoteException
- 如果无法联系注册表。