java.lang.Object
java.rmi.registry.LocateRegistry
LocateRegistry
用于获取特定主机(包括本地主机)上引导远程对象注册表的引用,或者创建一个在特定端口上接受调用的远程对象注册表。
请注意,getRegistry
调用实际上并不会连接到远程主机。它只是创建一个对远程注册表的本地引用,即使远程主机上没有运行注册表,该调用也会成功。因此,对此方法返回的远程注册表的后续方法调用可能会失败。
- 自版本:
- 1.1
- 参见:
-
Method Summary
Modifier and TypeMethodDescriptionstatic Registry
createRegistry
(int port) 在本地主机上创建并导出一个在指定port
上接受请求的Registry
实例。static Registry
createRegistry
(int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf) 在本地主机上创建并导出一个使用自定义套接字工厂与该实例通信的Registry
实例。static Registry
返回本地主机上默认注册表端口 1099 的远程对象Registry
的引用。static Registry
getRegistry
(int port) 返回本地主机上指定port
的远程对象Registry
的引用。static Registry
getRegistry
(String host) 返回指定host
上默认注册表端口 1099 的远程对象Registry
的引用。如果host
为null
,则使用本地主机。static Registry
getRegistry
(String host, int port) 返回指定host
和port
上的远程对象Registry
的引用。static Registry
getRegistry
(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
的引用。与此远程注册表的通信将使用提供的RMIClientSocketFactory
csf
来创建到远程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
-