java.lang.Object
java.rmi.registry.LocateRegistry
LocateRegistry
用于获取对特定主机(包括本地主机)上引导远程对象注册表的引用,或创建接受特定端口上的调用的远程对象注册表。
请注意,getRegistry
调用实际上并未与远程主机建立连接。它只是创建对远程注册表的本地引用,即使远程主机上没有运行注册表也会成功。因此,作为此方法的结果返回的对远程注册表的后续方法调用可能会失败。
- 自从:
- 1.1
- 参见:
-
方法总结
修饰符和类型方法描述static 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) 返回对默认注册表端口 1099 上指定host
上的远程对象Registry
的引用。static Registry
getRegistry
(String host, int port) 返回对指定host
和port
上的远程对象Registry
的引用。static Registry
getRegistry
(String host, int port, RMIClientSocketFactory csf) 返回在指定的host
和port
上对远程对象Registry
的本地创建的远程引用。
-
方法详情
-
getRegistry
为默认注册表端口 1099 上的本地主机返回对远程对象Registry
的引用。- 返回:
- 对远程对象注册表的引用(存根)
- 抛出:
RemoteException
- 如果无法创建引用- 自从:
- 1.1
-
getRegistry
返回对指定port
上本地主机的远程对象Registry
的引用。- 参数:
port
- 注册表接受请求的端口- 返回:
- 对远程对象注册表的引用(存根)
- 抛出:
RemoteException
- 如果无法创建引用- 自从:
- 1.1
-
getRegistry
返回对默认注册表端口 1099 上指定host
上的远程对象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
为空,则默认客户端Socket
工厂将用于注册表存根。- 返回:
- 对远程注册表的引用(存根)
- 抛出:
RemoteException
- 如果无法创建引用- 自从:
- 1.2
-
createRegistry
在接受指定port
请求的本地主机上创建并导出Registry
实例。Registry
实例就像调用静态UnicastRemoteObject.exportObject
方法一样被导出,将Registry
实例和指定的port
作为参数传递,除了Registry
实例是使用众所周知的对象标识符导出的,ObjID
实例是用值ObjID.REGISTRY_ID
构造的。- 参数:
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
用值ObjID.REGISTRY_ID
构造的实例。- 参数:
port
- 注册表接受请求的端口csf
- 客户端Socket
工厂用于连接到注册表ssf
- 服务端ServerSocket
工厂用于接受与注册表的连接- 返回:
- 注册表
- 抛出:
RemoteException
- 如果无法导出注册表- 自从:
- 1.2
-