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