JavaTM 2 Platform
Standard Ed. 5.0

java.rmi.server
接口 RemoteRef

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

public interface RemoteRef
extends Externalizable

RemoteRef 表示远程对象的句柄。RemoteStub 使用远程引用来执行对远程对象的远程方法调用。

从以下版本开始:
JDK1.1
另请参见:
RemoteStub

字段摘要
static String packagePrefix
          初始化服务器包的前缀:假定服务器 ref 类(如 UnicastRef、UnicastServerRef)的实现位于由前缀定义的包中。
static long serialVersionUID
          指示与类的 JDK 1.1.x 版本的兼容性。
 
方法摘要
 void done(RemoteCall call)
          已过时。 1.2 样式 stub 不再使用此方法。stub 使用远程引用上的单个方法 invoke(Remote, Method, Object[], int) 来执行参数编组、远程方法执行和返回值解组,而不是使用对远程引用(newCallinvokedone)的方法调用序列。
 String getRefClass(ObjectOutput out)
          返回要在流 'out' 上序列化的 ref 类型的类名称。
 void invoke(RemoteCall call)
          已过时。 1.2 样式 stub 不再使用此方法。stub 使用远程引用上的单个方法 invoke(Remote, Method, Object[], int) 来执行参数编组、远程方法执行和返回值解组,而不是使用对远程引用(newCallinvokedone)的方法调用序列。
 Object invoke(Remote obj, Method method, Object[] params, long opnum)
          调用某个方法。
 RemoteCall newCall(RemoteObject obj, Operation[] op, int opnum, long hash)
          已过时。 1.2 样式 stub 不再使用此方法。stub 使用远程引用上的单个方法 invoke(Remote, Method, Object[], int) 来执行参数编组、远程方法执行和返回值的解组,而不是使用该 stub 的远程引用(newCallinvokedone)上的方法调用序列。
 boolean remoteEquals(RemoteRef obj)
          比较两个远程对象是否相等。
 int remoteHashCode()
          返回远程对象的哈希码。
 String remoteToString()
          返回表示此远程对象的引用的 String。
 
从接口 java.io.Externalizable 继承的方法
readExternal, writeExternal
 

字段详细信息

serialVersionUID

static final long serialVersionUID
指示与类的 JDK 1.1.x 版本的兼容性。

另请参见:
常量字段值

packagePrefix

static final String packagePrefix
初始化服务器包的前缀:假定服务器 ref 类(如 UnicastRef、UnicastServerRef)的实现位于由前缀定义的包中。

另请参见:
常量字段值
方法详细信息

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
已过时。 1.2 样式 stub 不再使用此方法。stub 使用远程引用上的单个方法 invoke(Remote, Method, Object[], int) 来执行参数编组、远程方法执行和返回值的解组,而不是使用该 stub 的远程引用(newCallinvokedone)上的方法调用序列。

创建一个用于对此对象进行新的远程方法调用的适当调用对象。传递操作数组和索引允许 stub 生成器来分配操作索引,并解释它们。远程引用可能需要该操作以便在调用中编码。

参数:
obj - 要通过它进行调用的远程 stub
op - stub 操作的数组
opnum - 操作数
hash - stub/skeleton 接口哈希码
返回:
表示远程调用的调用对象
抛出:
RemoteException - 如果初始化新的远程调用失败
从以下版本开始:
JDK1.1
另请参见:
invoke(Remote,java.lang.reflect.Method,Object[],long)

invoke

@Deprecated
void invoke(RemoteCall call)
            throws Exception
已过时。 1.2 样式 stub 不再使用此方法。stub 使用远程引用上的单个方法 invoke(Remote, Method, Object[], int) 来执行参数编组、远程方法执行和返回值解组,而不是使用对远程引用(newCallinvokedone)的方法调用序列。

执行远程调用。调用将激活应该通过的但未被 stub 捕获的所有“用户”异常。如果在远程调用过程中激活任何异常,则调用在激活“用户”或远程异常之前应小心清除连接。

参数:
call - 表示远程调用的对象
抛出:
Exception - 如果在远程方法调用的过程中发生任何异常
从以下版本开始:
JDK1.1
另请参见:
invoke(Remote,java.lang.reflect.Method,Object[],long)

done

@Deprecated
void done(RemoteCall call)
          throws RemoteException
已过时。 1.2 样式 stub 不再使用此方法。stub 使用远程引用上的单个方法 invoke(Remote, Method, Object[], int) 来执行参数编组、远程方法执行和返回值解组,而不是使用对远程引用(newCallinvokedone)的方法调用序列。

允许远程引用以清除(或重新使用)连接。只有该调用成功(无例外)返回到 stub 时才调用 Done。

参数:
call - 表示远程调用的对象
抛出:
RemoteException - 如果在调用 cleanup 过程中发生远程错误
从以下版本开始:
JDK1.1
另请参见:
invoke(Remote,java.lang.reflect.Method,Object[],long)

getRefClass

String getRefClass(ObjectOutput out)
返回要在流 'out' 上序列化的 ref 类型的类名称。

参数:
out - 要在其中序列化引用的输出流
返回:
引用类型的类名称(不附带包条件)
从以下版本开始:
JDK1.1

remoteHashCode

int remoteHashCode()
返回远程对象的哈希码。引用同一远程对象的两个远程对象 stub 将有相同的哈希码(以便作为哈希表中的键支持远程对象)。

返回:
远程对象的哈希码
从以下版本开始:
JDK1.1
另请参见:
Hashtable

remoteEquals

boolean remoteEquals(RemoteRef obj)
比较两个远程对象是否相等。返回指示此远程对象是否与指定对象等效的 boolean。在哈希表中存储远程对象时将使用此方法。

参数:
obj - 要与之比较的对象
返回:
如果这些对象相等,则返回 true;否则,返回 false。
从以下版本开始:
JDK1.1
另请参见:
Hashtable

remoteToString

String remoteToString()
返回表示此远程对象的引用的 String。

返回:
表示远程对象引用的字符串
从以下版本开始:
JDK1.1

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策