发信人: daystream()
整理人: biubiu(2000-01-06 09:08:10), 站内信件
|
8.4 ServerRef 接口
接口 ServerRef 表示远程对象实现的服务器端句柄。
package java.rmi.server;
public interface ServerRef extends RemoteRef {
RemoteStub exportObject(java.rmi.Remote obj, Object data)
throws java.rmi.RemoteException;
String getClientHost() throws ServerNotActiveException;
}
方法 exportObject 将为所提供的 Remote 对象实现 obj 查找或创建客户机 st ub 对象。参数 data 包含导出对象所需的信息(如端口号)。
方法 getClientHost 返回当前客户机的主机名。当它被当前正在处理远程对象调 用的线程调用时,将返回执行此调用的客户机主机名。如果当前某一远程方法调 用未处于服务状态,则调用 ServerNotActiveException。
8.5 Skeleton 接口
接口 Skeleton 仅能由 rmic 编译器所生成 skeleton 的实现。远程对象的 ske leton 是服务器端的实体,它将为实际远程对象实现分配调用。
---------------------------------------------------------------------- ----------
注意 - JDK1.2 中不鼓励使用 Skeleton 接口。每个由 rmic stub 编译器生成的 1.1(以及在 1.2 中由缺省 rmic -vcompat 生成的兼容 1.1 的 skeleton)sk eleton 类均实现该接口。JDK1.2 兼容版本中分配远程方法调用将不再需要 ske leton。要生成兼容 JDK1.2 或更高版本的 stub,请使用带有选项 -v1.2 的命令 rmic。
---------------------------------------------------------------------- ----------
package java.rmi.server;
public interface Skeleton {
void dispatch(Remote obj, RemoteCall call, int opnum, long hash)
throws Exception;
Operation[] getOperations();
}
dispatch 方法将解编 call 对象中获得的输入流中的参数,调用实际远程对象实 现 obj 上的方法(由操作号 opnum 表示),然后将返回值进行编组。如果在调 用过程中发生异常,则抛出异常。
getOperations 方法返回包含远程对象方法的操作描述符的数组。
8.6 Operation 类
类 Operation 包含对远程对象 Java 方法的说明。
---------------------------------------------------------------------- ----------
注意 - JDK 1.2 中不鼓励使用 Operation 接口。JDK 1.2 stub 协议不再使用原 有的、以 Operation 作为参数的 RemoteRef.invoke 方法。stub 在 JDK 1.2 中 使用了新的 invoke 方法,它不再需要将 Operation 作为参数。
---------------------------------------------------------------------- ----------
package java.rmi.server;
public class Operation {
public Operation(String op);
public String getOperation();
public String toString();
}
构造 Operation 对象时通常带有方法签名。
方法 getOperation 返回操作描述符的内容(其初始化时使用的值)。
方法 toString 也返回操作描述符的字符串表示(通常为方法签名)。
-- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.96.191.124]
|
|