- java.lang.Object
-
- java.rmi.Naming
-
public final class Naming extends Object
Naming类提供了存储和获取对远程对象注册表中远程对象的引用的方法。Naming类的每个方法都将其作为参数的一个名称java.lang.StringURL格式的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 voidbind(String name, Remote obj)将指定的name绑定到远程对象。static String[]list(String name)返回在注册表中绑定的名称的数组。static Remotelookup(String name)返回与指定的name相关联的远程对象的引用,存根。static voidrebind(String name, Remote obj)将指定的名称重新绑定到一个新的远程对象。static voidunbind(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
-
-