- java.lang.Object
-
- java.rmi.Naming
-
public final class Naming extends Object
Naming
类提供了存储和获取对远程对象注册表中远程对象的引用的方法。Naming
类的每个方法都将其作为参数的一个名称java.lang.String
URL格式的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
方法)。- 从以下版本开始:
- 1.1
- 另请参见:
-
Registry
,LocateRegistry
,LocateRegistry.createRegistry(int)
-
-
方法摘要
所有方法 静态方法 具体的方法 Modifier and Type 方法 描述 static void
bind(String name, Remote obj)
将指定的name
绑定到远程对象。static String[]
list(String name)
返回在注册表中绑定的名称的数组。static Remote
lookup(String name)
返回与指定的name
相关联的远程对象的引用,存根。static void
rebind(String name, Remote obj)
将指定的名称重新绑定到一个新的远程对象。static void
unbind(String name)
销毁与远程对象关联的指定名称的绑定。
-
-
-
方法详细信息
-
lookup
public static Remote lookup(String name) throws NotBoundException, MalformedURLException, RemoteException
返回与指定的name
关联的远程对象的引用,存根。- 参数
-
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格式的注册表名称(不包括方案组件) - 结果
- 在注册表中绑定的一组名称(以适当的格式)
- 异常
-
MalformedURLException
- 如果名称不是格式正确的URL -
RemoteException
- 如果无法联系注册表。 - 从以下版本开始:
- 1.1
-
-