-
- All Superinterfaces:
-
Externalizable
,Serializable
- All Known Subinterfaces:
-
ServerRef
public interface RemoteRef extends Externalizable
RemoteRef
表示远程对象的句柄。 ARemoteStub
使用远程引用对远程对象执行远程方法调用。- 从以下版本开始:
- 1.1
- 另请参见:
-
RemoteStub
-
-
字段汇总
字段 变量和类型 字段 描述 static String
packagePrefix
初始化服务器包前缀:假定服务器引用类(例如,UnicastRef,UnicastServerRef)的实现位于由前缀定义的包中。static long
serialVersionUID
表示与JDK 1.1.x版本的兼容性。
-
方法摘要
所有方法 实例方法 抽象方法 弃用的方法 变量和类型 方法 描述 void
done(RemoteCall call)
已过时。1.2样式存根不再使用此方法。String
getRefClass(ObjectOutput out)
返回要序列化到流'out'的ref类型的类名。Object
invoke(Remote obj, 方法 method, Object[] params, long opnum)
调用方法。void
invoke(RemoteCall call)
已过时。1.2样式存根不再使用此方法。RemoteCall
newCall(RemoteObject obj, Operation[] op, int opnum, long hash)
已过时。1.2样式存根不再使用此方法。boolean
remoteEquals(RemoteRef obj)
比较两个远程对象是否相等。int
remoteHashCode()
返回远程对象的哈希码。String
remoteToString()
返回表示此远程对象的引用的String。-
声明方法的接口 java.io.Externalizable
readExternal, writeExternal
-
-
-
-
方法详细信息
-
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
, anddone
), 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
, anddone
), 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
, anddone
), 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
-
-