发表于: 2017-11-09 23:47:00
1 599
今天完成的事情:
1. 开始任务8
2. 了解IRM
3. 尝试进行配置
明天计划的事情
1. 本地调试IRM
2. 上线试试(说不得要再买一台服务器了)
遇到的问题:
这个IRM对我有点难理解
收获:
1. 了解IRM
只有Server端使用的是JAVA语言并且Client端也是用的JAVA语言,才能使用RMI技术
要定义和使用一套基于RMI框架工作的系统:
1、定义RMI Remote接口
2、实现这个RMI Remote接口
3、生成Stub(桩)和 Skeleton(骨架)。这一步的具体操作视不同的JDK版本而有所不同(例如JDK1.5后,Skeleton不需要手动);“RMI注册表”的工作方式也会影响“Stub是否需要命令行生成”这个问题。
4、向“RMI注册表”注册在第2步我们实现的RMI Remote接口。
5、创建一个Remote客户端,通过java“命名服务”在“RMI注册表”所在的IP:PORT寻找注册好的RMI服务。
6、Remote客户端向调用存在于本地JVM中对象那样,调用存在于远程JVM上的RMI接口。
如同在本地一样在远程调用service
能够让在某个java虚拟机上的对象像调用本地对象一样调用另一个java 虚拟机中的对象上的方法。(就这个说的明白)
1,客户对象调用客户端辅助对象上的方法
2,stub经 Socket 通过网络发送给skeleton
3,服务端skeleton将客户端stub发送来的信息解包,找出真正被调用的方法以及该方法所在对象
4,调用真正服务对象上的真正方法,并将结果返回给服务端skeleton
5,服务端skeleton将结果打包,发送给客户端stub
6,客户端stub将返回值解包,返回给客户对象
7,客户对象获得返回值
2 . 尝试进行配置
spring的配置:
@Service("professionServiceImpl")
public class ProfessionServiceImpl implements ProfessionService {
写入接口相对应的实现
<bean id="professionRMIService" class="org.springframework.remoting.rmi.RmiServiceExporter">
<property name="serviceName" value="professionRMI"/>
<property name="service" ref="professionServiceImpl"/>
<property name="serviceInterface" value="jnshu.taskeight.service.ProfessionService"/>
<property name="registryPort" value="9999"/>
</bean>
相互对应起来
在client也要求写出接口,
进度:
任务开始时间:11.09
预计完成时间:11.12
是否有延期风险:暂无
禅道:http://task.ptteng.com/zentao/project-task-264.htm
评论