发表于: 2017-11-14 23:04:54
1 818
今天完成的事
完成了spring的demo
相比java rmi
接口不用继承remote了
.png)

实现类不需要继承UnicastRemoteObject
.png)

spring会帮你注册端口
不用自己动手注册了
Spring 封装RMI实现
Spring RMI中,主要有两个类:org.springframework.remoting.rmi.RmiServiceExporter和org.springframework.remoting.rmi.RmiProxyFactoryBean
服务端使用RmiServiceExporter暴露RMI远程方法,客户端用RmiProxyFactoryBean间接调用远程方法。
接下来进行实际应用
相比如java rmi
使用spring基本没有对原有代码做太多改动
就是简单在config里面进行配置
首先我们需要对entity进行序列化
这样数据才能在网络中流通
客户端的文件有controller层,entity类,service接口和实现类,spring的配置文件bean和mvc,jsp页面
服务端的文件有entity类,dao层,mapper配置文件,service接口和实现类,spring配置文件只包含了关于数据库和驱动的bean,暴漏端口的main方法
安装maven-shade插件
这个插件可以让我们在打包的时候把依赖也打包进去,还可以指定mainclass
配置完成后,执行mvn package即可打包。在target目录下会生成两个jar包,注意不是original-xxx.jar文件,而是另外一个。和maven-assembly-plugin一样,生成的jar文件包含了所有依赖,所以可以直接运行。
如果项目中用到了Spring Framework,将依赖打到一个jar包中,运行时会出现读取XML schema文件出错。原因是Spring Framework的多个jar包中包含相同的文件spring.handlers和spring.schemas,如果生成一个jar包会互相覆盖。为了避免互相影响,可以使用AppendingTransformer来对文件内容追加合并
.png)

打包到服务器上运行

.png)
遇到的问题
如上,端口已经打开了
但是客户端连接不上
明天计划的事
完成任务8
收获
对spring rmi的使用更多了一些
评论