发表于: 2017-11-18 01:06:25
1 750
今天完成的事
准备小课堂,定题为SVN的使用,也算是给将要到来的复盘打些基础
学习RMI
什么是RMI?
RMI:远程方法调用(Remote Method Invocation)。能够让在某个java虚拟机上的对象像调用本地对象一样调用另一个java 虚拟机中的对象上的方法。任务要求的是web和service分离,就是靠RMI来实现
RMI远程调用步骤:
1,客户对象调用客户端辅助对象上的方法
2,客户端辅助对象打包调用信息(变量,方法名),通过网络发送给服务端辅助对象
3,服务端辅助对象将客户端辅助对象发送来的信息解包,找出真正被调用的方法以及该方法所在对象
4,调用真正服务对象上的真正方法,并将结果返回给服务端辅助对象
5,服务端辅助对象将结果打包,发送给客户端辅助对象
6,客户端辅助对象将返回值解包,返回给客户对象
7,客户对象获得返回值
JAVA中本身在1.1版本就集成了RMI ,主要思路就是使用自带两个类(具体什么我忘记了),将接口暴露出来,然后远程调用
Spring RMI:热衷于封装的Spring也将RMI封装进了自身当中,Spring RMI中,主要有两个类:org.springframework.remoting.rmi.RmiServiceExporter和org.springframework.remoting.rmi.RmiProxyFactoryBean服务端使用RmiServiceExporter暴露RMI远程方法,客户端用RmiProxyFactoryBean间接调用远程方法。
具体做法就是先把服务端的代码写出来
然后是配置文件 很重要
之后是客户端代码
客户端配置文件:
之后首先运行服务端,再运行客户端(执行main方法)
运行成功
遇到的问题:网上的教程都没有说明要在客户端也写一个接口以供使用,废了很大的劲才搞明白,需要把客户端的接口考过来
依赖冲突: 先在依赖树删掉带红线的依赖,再查看版本是否有较大带差的问题
明天的计划:
继续准备小课堂
项目中添加RMI
收获:Spring RMI的使用,以及解决依赖冲突
任务进度:任务8 步骤1
任务开始时间:2017-11-18
预计demo时间:2017.11.21
禅道:http://task.ptteng.com/zentao/project-task-276.html
评论