java.rmi

接口
异常
java.lang.Object
  继承者 java.rmi.Naming

public final class Naming
     
extends Object

Naming 类提供在对象注册表中存储和获得远程对远程对象引用的方法。Naming 类的每个方法都可将某个名称作为其一个参数,该名称是使用以下形式的 URL 格式(没有 scheme 组件)的 java.lang.String

    //host:port/name
 

其中 host 是注册表所在的主机(远程或本地),port 是注册表接受调用的端口号,name 是未经注册表解释的简单字符串。hostport 两者都是可选项。如果省略了 host,则主机默认为本地主机。如果省略了 port,则端口默认为 1099,该端口是 RMI 的注册表 rmiregistry 使用的“著名”端口。

为远程对象 绑定 名称是指为远程对象关联或注册一个名称,以后可以使用该名称来查找该远程对象。可以使用 Naming 类的 bindrebind 方法将远程对象与某个名称相关联。

一旦远程对象向本地主机上 RMI 注册表注册(绑定),远程(或本地)主机上的调用方可以通过名称查找远程对象,获得其引用,并在该对象上调用远程方法。注册表可由在一个主机上运行的所有服务器共享,需要时个别服务器进程也可以创建和使用自己的注册表(有关详细信息,请参见 java.rmi.registry.LocateRegistry.createRegistry)。

从以下版本开始:
JDK1.1
另请参见:
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
 

方法详细信息

lookup

public static Remote lookup(String name)
                     throws NotBoundException,
                            MalformedURLException,
                            RemoteException
返回与指定 name 关联的远程对象的引用(一个 stub)。

参数:
name - 使用 URL 格式(不含 scheme 组件)的名称
返回:
远程对象的引用
抛出:
NotBoundException - 如果当前未绑定名称
RemoteException - 如果无法联系注册表
AccessException - 如果不允许执行此操作
MalformedURLException - 如果名称不是适当格式化的 URL
从以下版本开始:
JDK1.1

bind

public static void bind(String name,
                        Remote obj)
                 throws AlreadyBoundException,
                        MalformedURLException,
                        RemoteException
将指定 name 绑定到远程对象。

参数:
name - 使用 URL 格式(不含 scheme 组件)的名称
obj - 远程对象的引用(通常是一个 stub)
抛出:
AlreadyBoundException - 如果已经绑定了名称
MalformedURLException - 如果该名称不是适当格式化的 URL
RemoteException - 如果无法联系注册表
AccessException - 如果不允许进行此操作(例如,如果起源于非本地主机)
从以下版本开始:
JDK1.1

unbind

public static void unbind(String name)
                   throws RemoteException,
                          NotBoundException,
                          MalformedURLException
销毁与远程对象关联的指定名称的绑定。

参数:
name - 使用 URL 格式(不含 scheme 组件)的名称
抛出:
NotBoundException - 如果当前未绑定名称
MalformedURLException - 如果该名称不是适当格式化的 URL
RemoteException - 如果无法联系注册表
AccessException - 如果不允许进行此操作(例如,如果起源于非本地主机)
从以下版本开始:
JDK1.1

rebind

public static void rebind(String name,
                          Remote obj)
                   throws RemoteException,
                          MalformedURLException
将指定名称重新绑定到一个新的远程对象。 将替换任何现有绑定。

参数:
name - 使用 URL 格式(不含 scheme 组件)
obj - 将与名称关联的新远程对象
抛出:
MalformedURLException - 如果该名称不是适当格式化的 URL
RemoteException - 如果无法联系注册表
AccessException - 如果不允许执行此操作(例如,如果起源于非本地主机)
从以下版本开始:
JDK1.1

list

public static String[] list(String name)
                     throws RemoteException,
                            MalformedURLException
返回在注册表中绑定的名称所组成的数组。该名称为 URL 格式(不含 scheme 组件)的字符串。该数组包含在调用时出现在注册表中的名称快照。

参数:
name - 使用 URL 格式(不含 scheme 组件)的注册表名称
返回:
在注册表中绑定的名称(使用适当格式)所组成的数组
抛出:
MalformedURLException - 如果该名称不是适当格式化的 URL
RemoteException - 如果无法联系注册表。
从以下版本开始:
JDK1.1