发表于: 2017-11-18 01:06:25

1 749


今天完成的事

准备小课堂,定题为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.RmiServiceExporterorg.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




返回列表 返回列表
评论

    分享到