Module java.rmi
Package java.rmi.server

Interface RemoteRef

所有超接口:
Externalizable, Serializable
所有已知子接口:
ServerRef

public interface RemoteRef extends Externalizable
RemoteRef代表远程对象的句柄。 RemoteStub使用远程引用来执行对远程对象的远程方法调用。
自版本:
1.1
另请参阅:
  • Field Details

    • serialVersionUID

      @Deprecated static final long serialVersionUID
      Deprecated.
      A serialVersionUID field in an interface is ineffectual. Do not use; no replacement.
      表示与JDK 1.1.x版本的类的兼容性。
      另请参阅:
    • packagePrefix

      static final String packagePrefix
      初始化服务器包前缀:假定服务器引用类的实现(例如UnicastRef,UnicastServerRef)位于前缀定义的包中。
      另请参阅:
  • Method Details

    • invoke

      Object invoke(Remote obj, Method method, Object[] params, long opnum) throws Exception
      调用一个方法。将方法调用委托给引用的形式允许引用负责建立与远程主机的连接,为方法和参数编组一些表示,然后将方法调用传递给远程主机。此方法要么返回驻留在远程主机上的远程对象上的方法调用的结果,要么在调用失败时抛出RemoteException,或者在远程调用引发异常时抛出应用级别异常。
      参数:
      obj - 包含RemoteRef的对象(例如,对象的RemoteStub)。
      method - 要调用的方法
      params - 参数列表
      opnum - 可用于表示方法的哈希值
      返回:
      远程方法调用的结果
      抛出:
      Exception - 如果在远程方法调用期间发生任何异常
      自版本:
      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

      @Deprecated void invoke(RemoteCall call) throws Exception
      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 - 表示远程调用的对象
      抛出:
      Exception - 如果在远程方法调用期间发生任何异常
      自版本:
      1.1
      另请参阅:
    • 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
      另请参阅:
    • getRefClass

      String getRefClass(ObjectOutput out)
      返回要序列化到流'out'的引用类型的类名。
      参数:
      out - 要将引用序列化到的输出流
      返回:
      引用类型的类名(不包括包限定)
      自版本:
      1.1
    • remoteHashCode

      int remoteHashCode()
      返回远程对象的哈希码。引用同一远程对象的两个远程对象存根将具有相同的哈希码(以支持将远程对象用作哈希表中的键)。
      返回:
      远程对象的哈希码
      自版本:
      1.1
      另请参阅:
    • remoteEquals

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

      String remoteToString()
      返回表示此远程对象引用的字符串。
      返回:
      表示远程对象引用的字符串
      自版本:
      1.1