发表于: 2016-05-12 22:21:53
1 1912
【操作步骤】
1.了解RMI
2.开始动手实现Spring框架下的RMI服务,参考链接:http://blog.csdn.net/shirdrn/article/details/6359254
【知识总结】
1.纯Java的RMI服务运行原理基本上是这样的(我自己推断加猜测的,不权威):
1.1 定义一个远程接口
1.2 实现这个接口,这个时候,你所要使用的服务就建立好了
1.3 把需要远程调用的类绑定到RMI服务上,设置好IP和端口
1.4 客户端通过IP和端口号来访问和调用远程对象
2.为什么要把web端和service端分开:
随着不同终端(Pad/Mobile/PC)的兴起,对开发人员的要求越来越高,纯浏览器端的响应式已经不能满足用户体验的高要求,我们往往需要针对不同的终端开发定制的版本。为了提升开发效率,前后端分离的需求越来越被重视,后端负责业务/数据接口,前端负责展现/交互逻辑,同一份数据接口,我们可以定制开发多个版本。
3.纯Java的RMI服务使用:
3.1 远程接口必须继承Remote接口,其中需要远程调用的方法必须抛出RemoteException异常
3.2 远程接口实现必须继承UnicastRemoteObject类
3.3 远程接口实现类必须写上默认的构造方法,且由于实现类所继承的UnicastRemoteObject类的构造方法抛出了RemoteException异常,因此这里默认的构造方法必须声明抛出RemoteException异常
3.4 需要创建RMI注册表,启动RMI服务,并将远程对象注册到RMI注册表中
4.Spring框架下的RMI服务使用:
4.1 接口类不需要继承Remote,方法不需要抛出RemoteException异常对象
4.2 实现类不需要继承UnicastRemoteObject类
4.3 RMI服务自动注册
5.使用RMI服务时,必须把服务端的远程接口文件打包放到客户端一份
6.怎样给数据库重命名,不能直接重命名,但是可以新建一个数据库,然后把源数据库里面的表都复制过来,方法:http://www.cnblogs.com/ywangzi/archive/2012/10/18/2729608.html
7.RmiServiceExporter的属性配置讲解:
a) registryPort 服务注册端口。默认为1099
b) registryHost 服务注册IP(在多网卡IP下,建议指定).默认为空表示不指定
c) serviceName 服务名称,不能为空
d) servicePort 服务端口。默认值为0,表示在与服务通信时将使用匿名端口
e) alwaysCreateRegistry 是否复用Registry注册的端口。默认为false,表示复用
f) replaceExistingBinding 是否替换已经发布的服务。默认为true,表示替换
【出现的问题(已解决)】
【出现的问题(未解决)】
【疑问】
评论