精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● Java>>JAVA编程>>网络编程>>RMI>>RMI规范--第八章(2)

主题:RMI规范--第八章(2)
发信人: 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]

[关闭][返回]