java.lang.Object
java.rmi.registry.LocateRegistry
LocateRegistry 用于获取特定主机(包括本地主机)上引导远程对象注册表的引用,或者创建一个在特定端口上接受调用的远程对象注册表。
请注意,getRegistry 调用实际上并不会连接到远程主机。它只是创建一个对远程注册表的本地引用,即使远程主机上没有运行注册表,该调用也会成功。因此,对此方法返回的远程注册表的后续方法调用可能会失败。
- 自版本:
- 1.1
- 参见:
-
Method Summary
Modifier and TypeMethodDescriptionstatic RegistrycreateRegistry(int port) 在本地主机上创建并导出一个在指定port上接受请求的Registry实例。static RegistrycreateRegistry(int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) 在本地主机上创建并导出一个使用自定义套接字工厂与该实例通信的Registry实例。static Registry返回本地主机上默认注册表端口 1099 的远程对象Registry的引用。static RegistrygetRegistry(int port) 返回本地主机上指定port的远程对象Registry的引用。static RegistrygetRegistry(String host) 返回指定host上默认注册表端口 1099 的远程对象Registry的引用。如果host为null,则使用本地主机。static RegistrygetRegistry(String host, int port) 返回指定host和port上的远程对象Registry的引用。static RegistrygetRegistry(String host, int port, RMIClientSocketFactory csf) 返回在指定host和port上本地创建的远程对象Registry的引用。
-
Method Details
-
getRegistry
返回本地主机上默认注册表端口 1099 的远程对象Registry的引用。- 返回:
- 远程对象注册表的引用(一个存根)
- 抛出:
-
RemoteException- 如果无法创建引用 - 自版本:
- 1.1
-
getRegistry
返回本地主机上指定port的远程对象Registry的引用。- 参数:
-
port- 注册表接受请求的端口 - 返回:
- 远程对象注册表的引用(一个存根)
- 抛出:
-
RemoteException- 如果无法创建引用 - 自版本:
- 1.1
-
getRegistry
返回指定host上默认注册表端口 1099 的远程对象Registry的引用。如果host为null,则使用本地主机。- 参数:
-
host- 远程注册表的主机 - 返回:
- 远程对象注册表的引用(一个存根)
- 抛出:
-
RemoteException- 如果无法创建引用 - 自版本:
- 1.1
-
getRegistry
返回指定host和port上的远程对象Registry的引用。如果host为null,则使用本地主机。- 参数:
-
host- 远程注册表的主机 -
port- 注册表接受请求的端口 - 返回:
- 远程对象注册表的引用(一个存根)
- 抛出:
-
RemoteException- 如果无法创建引用 - 自版本:
- 1.1
-
getRegistry
public static Registry getRegistry(String host, int port, RMIClientSocketFactory csf) throws RemoteException 返回在指定host和port上本地创建的远程对象Registry的引用。与此远程注册表的通信将使用提供的RMIClientSocketFactorycsf来创建到远程host和port上注册表的Socket连接。- 参数:
-
host- 远程注册表的主机 -
port- 注册表接受请求的端口 -
csf- 用于与注册表建立连接的客户端端Socket工厂。如果csf为 null,则注册表存根中将使用默认的客户端端Socket工厂。 - 返回:
- 远程注册表的引用(一个存根)
- 抛出:
-
RemoteException- 如果无法创建引用 - 自版本:
- 1.2
-
createRegistry
在本地主机上创建并导出一个在指定port上接受请求的Registry实例。该
Registry实例被导出,就好像调用静态的UnicastRemoteObject.exportObject方法,传递Registry实例和指定的port作为参数一样,只是Registry实例是使用一个众所周知的对象标识符导出的,即使用值为ObjID.REGISTRY_ID的ObjID实例构造。- 参数:
-
port- 注册表接受请求的端口 - 返回:
- 注册表
- 抛出:
-
RemoteException- 如果无法导出注册表 - 自版本:
- 1.1
-
createRegistry
public static Registry createRegistry(int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) throws RemoteException 在本地主机上创建并导出一个使用自定义套接字工厂与该实例通信的Registry实例。创建的注册表使用从提供的RMIServerSocketFactory创建的ServerSocket在给定port上监听传入请求。该
Registry实例被导出,就好像调用静态的UnicastRemoteObject.exportObject方法,传递Registry实例、指定的port、指定的RMIClientSocketFactory和指定的RMIServerSocketFactory作为参数一样,只是Registry实例是使用一个众所周知的对象标识符导出的,即使用值为ObjID.REGISTRY_ID的ObjID实例构造。- 参数:
-
port- 注册表接受请求的端口 -
csf- 用于与注册表建立连接的客户端端Socket工厂 -
ssf- 用于接受注册表连接的服务器端ServerSocket工厂 - 返回:
- 注册表
- 抛出:
-
RemoteException- 如果无法导出注册表 - 自版本:
- 1.2
-