模块  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
    • 字段详细信息

      • serialVersionUID

        static final long serialVersionUID
        表示与JDK 1.1.x版本的兼容性。
        另请参见:
        常数字段值
      • packagePrefix

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

      • 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
        Deprecated.
        1.2 style stubs no longer use this method. Instead of using a sequence of method calls on the stub's the remote reference ( newCall, invoke, and done), a stub uses a single method, invoke(Remote, Method, Object[], int), on the remote reference to carry out parameter marshalling, remote method executing and unmarshalling of the return value.
        为此对象上的新远程方法调用创建适当的调用对象。 传递操作数组和索引,允许存根生成器分配操作索引并解释它们。 远程引用可能需要在呼叫中编码的操作。
        参数
        obj - 通过其进行呼叫的远程存根
        op - 存根操作数组
        opnum - 操作编号
        hash - 存根/骨架接口哈希
        结果
        表示远程调用的调用对象
        异常
        RemoteException - 如果无法启动新的远程呼叫
        从以下版本开始:
        1.1
        另请参见:
        invoke(Remote,java.lang.reflect.Method,Object[],long)
      • invoke

        @Deprecated
        void invoke​(RemoteCall call)
             throws 异常
        Deprecated.
        1.2 style stubs no longer use this method. Instead of using a sequence of method calls to the remote reference ( newCall, invoke, and done), a stub uses a single method, invoke(Remote, Method, Object[], int), on the remote reference to carry out parameter marshalling, remote method executing and unmarshalling of the return value.
        执行远程调用。 调用将引发任何应该通过但不被存根捕获的“用户”异常。 如果在远程调用期间引发任何异常,则在引发“用户”或远程异常之前,应调用清理连接。
        参数
        call - 表示远程调用的对象
        异常
        异常 - 如果在远程方法期间发生任何异常
        从以下版本开始:
        1.1
        另请参见:
        invoke(Remote,java.lang.reflect.Method,Object[],long)
      • done

        @Deprecated
        void done​(RemoteCall call)
           throws RemoteException
        Deprecated.
        1.2 style stubs no longer use this method. Instead of using a sequence of method calls to the remote reference ( newCall, invoke, and done), a stub uses a single method, invoke(Remote, Method, Object[], int), on the remote reference to carry out parameter marshalling, remote method executing and unmarshalling of the return value.
        允许远程引用清理(或重用)连接。 只有在调用成功(非异常)返回存根时才应调用Done。
        参数
        call - 表示远程调用的对象
        异常
        RemoteException - 如果在呼叫清除期间发生远程错误
        从以下版本开始:
        1.1
        另请参见:
        invoke(Remote,java.lang.reflect.Method,Object[],long)
      • getRefClass

        String getRefClass​(ObjectOutput out)
        返回要序列化到流'out'的ref类型的类名。
        参数
        out - 将序列化引用的输出流
        结果
        引用类型的类名(没有包限定)
        从以下版本开始:
        1.1
      • remoteHashCode

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

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

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