rmi 框架&spring rmi

18
RMI 框架 yubaofu

Upload: yubao-fu

Post on 23-Jun-2015

470 views

Category:

Technology


4 download

DESCRIPTION

Java RMI简单科

TRANSCRIPT

Page 1: RMI 框架&Spring RMI

RMI框架

yubaofu

Page 2: RMI 框架&Spring RMI

RMI调用模型

● 把分布在不同节点上的对象之间发送的消息转化为字节充列,这一个过程叫编组 (marshalling)

● 通过 socket建立连接并传输字节序列● 处理网络的各种故障● 为远程方法调用提供安全检查

Page 3: RMI 框架&Spring RMI

RMI原理

● RMI 采用 client Server 通信方式● RMI框架为远程对象分别生成客户端代理和服务器端代理,位于客户端的代理类称为 stub

位于服务器端的代理类称为 skeleton

Page 4: RMI 框架&Spring RMI

RMI访问图

Page 5: RMI 框架&Spring RMI

RMI调用时序图

Page 6: RMI 框架&Spring RMI

Demo

Page 7: RMI 框架&Spring RMI

Spring RMI client

Page 8: RMI 框架&Spring RMI

Spring RMI clent调用时序图

Page 9: RMI 框架&Spring RMI

RmiProxyFactoryBean

● 生成代理对象● 在信赖注入完成后, IOC容器回调

afterPropertiesSet 生成代理对象● 代理对象的拦截器是 RmiClientInterceptor

Page 10: RMI 框架&Spring RMI

RmiProxyFactoryBean继承图

Page 11: RMI 框架&Spring RMI

RmiProxyFactoryBeans核心代码

Page 12: RMI 框架&Spring RMI

RmiClientInterceptor

Page 13: RMI 框架&Spring RMI

核心方法 prepare

Page 14: RMI 框架&Spring RMI

lookup

Page 15: RMI 框架&Spring RMI

Invoke

● 取得 stub后,当 RMI client代理方法被调用时,会触发拦截器 RmiClientInterceptor的invoke 方法

Page 16: RMI 框架&Spring RMI

Spring Server

● RmiServiceExporter● 对一些参数做必要的检查● 通过 RMI机制导出远程对象

● 注册远程对象

Page 17: RMI 框架&Spring RMI

RmiBasedExporter核心方法

Page 18: RMI 框架&Spring RMI

RmiBasedExporter核心方法