Module  java.rmi
软件包  java.rmi.server

Interface RemoteRef

  • All Superinterfaces:
    ExternalizableSerializable
    All Known Subinterfaces:
    ServerRef


    public interface RemoteRef
    extends Externalizable
    RemoteRef表示远程对象的句柄。 A RemoteStub使用远程引用对远程对象执行远程方法调用。
    从以下版本开始:
    1.1
    另请参见:
    RemoteStub
    • Field Summary

      Fields  
      Modifier and Type Field 描述
      static String packagePrefix
      初始化服务器包前缀:假定服务器参考类的实现(例如,UnicastRef,UnicastServerRef)位于由前缀定义的包中。
      static long serialVersionUID
      表示与JDK 1.1.x版本的类的兼容性。
    • 方法摘要

      所有方法  接口方法  抽象方法  弃用的方法 
      Modifier and Type 方法 描述
      void done​(RemoteCall call)
      已过时。
      1.2样式存根不再使用这种方法。 代替使用方法的序列调用远程引用( newCallinvoke ,和done ),存根使用单个方法, invoke(Remote, Method, Object[], int) ,在远程参考来进行参数编组,执行远程方法和解组的返回值。
      String getRefClass​(ObjectOutput out)
      将要序列化的引用类型的类名返回到流“out”。
      Object invoke​(Remote obj, 方法 method, Object[] params, long opnum)
      调用方法。
      void invoke​(RemoteCall call)
      已过时。
      1.2样式存根不再使用这种方法。 代替使用方法的序列调用远程引用( newCallinvoke ,和done ),存根使用单个方法, invoke(Remote, Method, Object[], int) ,在远程参考来进行参数编组,执行远程方法和解组的返回值。
      RemoteCall newCall​(RemoteObject obj, Operation[] op, int opnum, long hash)
      已过时。
      1.2样式存根不再使用这种方法。 代替使用方法调用的顺序上短截线的远程引用(的newCallinvoke ,和done ),存根使用单个方法, invoke(Remote, Method, Object[], int) ,在远程参考来进行参数编组,执行远程方法和解组的返回的值。
      boolean remoteEquals​(RemoteRef obj)
      比较两个远程对象的相等性。
      int remoteHashCode​()
      返回一个远程对象的哈希码。
      String remoteToString​()
      返回一个表示此远程对象引用的字符串。
    • 字段详细信息

      • serialVersionUID

        static final long serialVersionUID
        表示与JDK 1.1.x版本的类的兼容性。
        另请参见:
        Constant Field Values
      • packagePrefix

        static final String packagePrefix
        初始化服务器包前缀:假定服务器参考类的实现(例如,UnicastRef,UnicastServerRef)位于由前缀定义的包中。
        另请参见:
        Constant Field Values
    • 方法详细信息

      • invoke

        Object invoke​(Remote obj,
                      方法 method,
                      Object[] params,
                      long opnum)
               throws 异常
        调用方法。 这种委托方式调用到引用的形式允许引用来设置与远程主机的连接,为方法和参数编组一些表示,然后将方法调用传递给远程主机。 该方法或者返回驻留在远程主机上的远程对象上的方法调用的结果,或者如果调用失败则抛出RemoteException,或者如果远程调用引发异常,则返回应用程序级异常。
        参数
        obj - 包含RemoteRef的对象(例如,对象的RemoteStub)。
        method - 要调用的方法
        params - 参数列表
        opnum - 可用于表示方法的散列
        结果
        远程方法调用的结果
        异常
        异常 - 如果在远程方法调用期间发生任何异常
        从以下版本开始:
        1.2
      • newCall

        @Deprecated
        RemoteCall newCall​(RemoteObject obj,
                           Operation[] op,
                           int opnum,
                           long hash)
                    throws RemoteException
        已过时。 1.2样式存根不再使用这种方法。 代替使用方法调用的顺序上短截线的远程引用(的newCallinvoke ,和done ),存根使用单个方法, invoke(Remote, Method, Object[], int) ,在远程参考来进行参数编组,执行远程方法和解组的返回的值。
        为此对象创建新的远程方法调用的适当调用对象。 传递操作数组和索引,允许存根生成器分配操作索引并进行解释。 远程引用可能需要在呼叫中进行编码的操作。
        参数
        obj - 通过其进行通话的远程存根
        op - 存根操作数组
        opnum - 操作编号
        hash - stub / skeleton接口哈希
        结果
        代表远程调用的调用对象
        异常
        RemoteException - 如果无法启动新的远程调用
        从以下版本开始:
        1.1
        另请参见:
        invoke(Remote,java.lang.reflect.Method,Object[],long)
      • invoke

        @Deprecated
        void invoke​(RemoteCall call)
             throws 异常
        已过时。 1.2样式存根不再使用这种方法。 代替使用方法的序列调用远程引用( newCallinvoke ,和done ),存根使用单个方法, invoke(Remote, Method, Object[], int) ,在远程参考来进行参数编组,执行远程方法和解组的返回值。
        执行远程调用。 调用将引发任何应该通过的用户异常,而不被该存根捕获。 如果在远程调用期间引发异常,则调用在升级“用户”或远程异常之前,请注意清除连接。
        参数
        call - 表示远程调用的对象
        异常
        异常 - 如果在远程方法中发生任何异常
        从以下版本开始:
        1.1
        另请参见:
        invoke(Remote,java.lang.reflect.Method,Object[],long)
      • done

        @Deprecated
        void done​(RemoteCall call)
           throws RemoteException
        已过时。 1.2样式存根不再使用这种方法。 代替使用方法的序列调用远程引用( newCallinvoke ,和done ),存根使用单个方法, invoke(Remote, Method, Object[], int) ,在远程参考来进行参数编组,执行远程方法和解组的返回值。
        允许远程引用清理(或重新使用)连接。 只有当调用成功(非特别地)返回到存根时才调用完成。
        参数
        call - 表示远程调用的对象
        异常
        RemoteException - 如果在呼叫清理期间发生远程错误
        从以下版本开始:
        1.1
        另请参见:
        invoke(Remote,java.lang.reflect.Method,Object[],long)
      • getRefClass

        String getRefClass​(ObjectOutput out)
        将要序列化的引用类型的类名返回到流“out”。
        参数
        out - 引用将被序列化的输出流
        结果
        参考类型的类名(不含包资质)
        从以下版本开始:
        1.1
      • remoteHashCode

        int remoteHashCode​()
        返回一个远程对象的哈希码。 引用同一个远程对象的两个远程对象存根将具有相同的哈希码(为了支持远程对象作为哈希表中的键)。
        结果
        远程对象哈希码
        从以下版本开始:
        1.1
        另请参见:
        Hashtable
      • remoteEquals

        boolean remoteEquals​(RemoteRef obj)
        比较两个远程对象的相等性。 返回一个布尔值,指示该远程对象是否等同于指定的对象。 当远程对象存储在散列表中时,将使用此方法。
        参数
        obj - 要比较的对象
        结果
        如果这些对象相等则为true; 否则为假。
        从以下版本开始:
        1.1
        另请参见:
        Hashtable
      • remoteToString

        String remoteToString​()
        返回一个表示此远程对象引用的字符串。
        结果
        字符串表示远程对象引用
        从以下版本开始:
        1.1