Module java.rmi

Class LocateRegistry

java.lang.Object
java.rmi.registry.LocateRegistry

public final class LocateRegistry extends Object
LocateRegistry 用于获取特定主机(包括本地主机)上引导远程对象注册表的引用,或者创建一个在特定端口上接受调用的远程对象注册表。

请注意,getRegistry 调用实际上并不会连接到远程主机。它只是创建一个对远程注册表的本地引用,即使远程主机上没有运行注册表,该调用也会成功。因此,对此方法返回的远程注册表的后续方法调用可能会失败。

自版本:
1.1
参见:
  • Method Details

    • getRegistry

      public static Registry getRegistry() throws RemoteException
      返回本地主机上默认注册表端口 1099 的远程对象 Registry 的引用。
      返回:
      远程对象注册表的引用(一个存根)
      抛出:
      RemoteException - 如果无法创建引用
      自版本:
      1.1
    • getRegistry

      public static Registry getRegistry(int port) throws RemoteException
      返回本地主机上指定 port 的远程对象 Registry 的引用。
      参数:
      port - 注册表接受请求的端口
      返回:
      远程对象注册表的引用(一个存根)
      抛出:
      RemoteException - 如果无法创建引用
      自版本:
      1.1
    • getRegistry

      public static Registry getRegistry(String host) throws RemoteException
      返回指定 host 上默认注册表端口 1099 的远程对象 Registry 的引用。如果 hostnull,则使用本地主机。
      参数:
      host - 远程注册表的主机
      返回:
      远程对象注册表的引用(一个存根)
      抛出:
      RemoteException - 如果无法创建引用
      自版本:
      1.1
    • getRegistry

      public static Registry getRegistry(String host, int port) throws RemoteException
      返回指定 hostport 上的远程对象 Registry 的引用。如果 hostnull,则使用本地主机。
      参数:
      host - 远程注册表的主机
      port - 注册表接受请求的端口
      返回:
      远程对象注册表的引用(一个存根)
      抛出:
      RemoteException - 如果无法创建引用
      自版本:
      1.1
    • getRegistry

      public static Registry getRegistry(String host, int port, RMIClientSocketFactory csf) throws RemoteException
      返回在指定 hostport 上本地创建的远程对象 Registry 的引用。与此远程注册表的通信将使用提供的 RMIClientSocketFactory csf 来创建到远程 hostport 上注册表的 Socket 连接。
      参数:
      host - 远程注册表的主机
      port - 注册表接受请求的端口
      csf - 用于与注册表建立连接的客户端端 Socket 工厂。如果 csf 为 null,则注册表存根中将使用默认的客户端端 Socket 工厂。
      返回:
      远程注册表的引用(一个存根)
      抛出:
      RemoteException - 如果无法创建引用
      自版本:
      1.2
    • createRegistry

      public static Registry createRegistry(int port) throws RemoteException
      在本地主机上创建并导出一个在指定 port 上接受请求的 Registry 实例。

      Registry 实例被导出,就好像调用静态的 UnicastRemoteObject.exportObject 方法,传递 Registry 实例和指定的 port 作为参数一样,只是 Registry 实例是使用一个众所周知的对象标识符导出的,即使用值为 ObjID.REGISTRY_IDObjID 实例构造。

      参数:
      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_IDObjID 实例构造。

      参数:
      port - 注册表接受请求的端口
      csf - 用于与注册表建立连接的客户端端 Socket 工厂
      ssf - 用于接受注册表连接的服务器端 ServerSocket 工厂
      返回:
      注册表
      抛出:
      RemoteException - 如果无法导出注册表
      自版本:
      1.2