Upload
yubao-fu
View
463
Download
4
Embed Size (px)
DESCRIPTION
Java RMI简单科
Citation preview
RMI框架
yubaofu
RMI调用模型
● 把分布在不同节点上的对象之间发送的消息转化为字节充列,这一个过程叫编组 (marshalling)
● 通过 socket建立连接并传输字节序列● 处理网络的各种故障● 为远程方法调用提供安全检查
RMI原理
● RMI 采用 client Server 通信方式● RMI框架为远程对象分别生成客户端代理和服务器端代理,位于客户端的代理类称为 stub
位于服务器端的代理类称为 skeleton
RMI访问图
RMI调用时序图
Demo
Spring RMI client
Spring RMI clent调用时序图
RmiProxyFactoryBean
● 生成代理对象● 在信赖注入完成后, IOC容器回调
afterPropertiesSet 生成代理对象● 代理对象的拦截器是 RmiClientInterceptor
RmiProxyFactoryBean继承图
●
RmiProxyFactoryBeans核心代码
RmiClientInterceptor
核心方法 prepare
lookup
Invoke
● 取得 stub后,当 RMI client代理方法被调用时,会触发拦截器 RmiClientInterceptor的invoke 方法
Spring Server
● RmiServiceExporter● 对一些参数做必要的检查● 通过 RMI机制导出远程对象
● 注册远程对象
RmiBasedExporter核心方法
RmiBasedExporter核心方法