发表于: 2017-04-19 23:48:44

3 1461


今天完成的事情:

一.将原有学员系统中Service中拆分出来,变成一个RMI的Service。

具体的一步一步的介绍我就不做了,我也是站在前人的肩膀上,逐步熟悉基本的概念和操作的。

参考:1.沈明师兄日报:http://www.jnshu.com/daily/15714?tid=55

2.丁杰师兄日报:http://www.jnshu.com/daily/7829?uid=3933

尤其是沈明师兄日报,对任务理解的好,做的也很详细。对一个任务不懂得时候,看看沈明师兄日报,就能找到思路。


这一步我重新生成了一个 maven 的聚合项目,eclipse 如何生成请查看上面日报,我用的 idea 生成的,虽然 idea 和 eclipse 在工程目录这块逻辑不一样,但是百度一下还是很好解决的,我也就不粘图了。


最终我的目录结构是这样的:

1.首先处理 core ,在这里面写好实体类和 service 接口,注意:实体类要序列化,这是 rmi 的前提。core 的 pom 文件不需要其他的依赖。

2.写 service ,分别包括 dao,service 的实现类,还有一个 rmi 要用的 server 类。这时候就需要在 pom 里面添加在学员系统里面用到的 spring 和 mybatis 等依赖了。由于在 service 会用到 core 里面的实体类,所以也要对 pom 依赖 core,这时候需要把 task8-core clean install 了。

我的server.xml 直接配到 spring 文件里面了。

   <!-- server start -->
  <bean id="studentServiceExporter" class="org.springframework.remoting.rmi.RmiServiceExporter">
  <property name="serviceName" value="StudentService"/>
  <property name="service" ref="studentService"/>
  <property name="serviceInterface" value="org.xiuzhenyuan.service.StudentService"/>
  <property name="registryPort" value="8001"/>
  <property name="servicePort" value="8002"/>
</bean>

<bean id="studentService" class="org.xiuzhenyuan.service.impl.StudentServiceImpl"/>
  <!-- server end -->


3.controller 里面很简单,写一个简单的控制层即可,注意 pom 里面也需要引入 spring、mybatis等,还有 core。

<context:component-scan base-package="org.xiuzhenyuan" />

<bean id="studentService" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
     <property name="serviceUrl" value="rmi://localhost:8001/StudentService"/>
     <property name="serviceInterface" value="org.xiuzhenyuan.service.StudentService"/>
</bean> 

4.写完了之后可以测试了:

先打开 service,正常,可以获得数据。

打开tomcat,访问 controller,这儿遇到坑了,花了好长时间来解决一个小问题。看结果:

数据正确,但是没有用Json去处理。


二.在原来的WEB中调用Service。

1.由于我的rmi就是仿照 task4 去做的,所以我直接在 task4 里面去访问,只需要把 controller层处理一下,其他的不用动。

可以成功访问,但是当时忘了截图了。


三.部署两台Service,在WEB中随机访问任意一台Service



明天计划的事情:

1.完成任务八,开始任务九

遇到的问题:

1.

真是无语了。调试了好几个小时不知道是什么原因: server  启动正常, tomcat 启动正常,但是访问不了 controller 。
当我改变 tomcat 的
之后,竟然可以重新访问了。
这个坑一定要注意啊,花了好长时间,查出来还没毛用。

但是有个需要注意的地方,我的 task4 项目如果不配置这个,则默认打开的是 index.jsp 页面,但是任务八这个默认打开的却是 tomcat 的主页面,而且无论怎么在后面修改路径,都不能正常访问。

收获:

1.今天超哥讲了一下,遇到解决不了问题是对人一种信心的一种锻炼,在工作中尤为重要。





返回列表 返回列表
评论

    分享到