专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 编程

Spring3 rmi 兑现

发布时间:2011-07-01 07:28:44 文章来源:www.iduyao.cn 采编人员:星星草
Spring3 rmi 实现

         java rmi 实现起来非常麻烦,每个接口都要继承Remote  接口,实现这个接口的类还要继承 UnicastRemoteObject类,总之非常麻烦,关于java rmi的文章      http://damies.iteye.com/blog/51778

       Spring提供类用于集成各种远程访问技术。这种对远程访问的支持可以降低你在用POJO实现支持远程访问业务时的开发难度目前,Spring提供对下面四种远程访问技术的支持:

      远程方法调用(RMI)。通过使用RmiProxyFactoryBeanRmiServiceExporter,Spring支持传统的RMI(使用java.rmi.Remote interfaces 和 java.rmi.RemoteException)和通过RMI调用器(可以使用任何Java接口)的透明远程调用。

     Spring的HTTP调用器。Spring提供一种特殊的远程调用策略支持任何Java接口(象RMI调用器一样),它允许Java序列化能够通过HTTP传送。对应的支持类是HttpInvokerProxyFactoryBeanHttpInvokerServiceExporter

    Hessian。通过使用HessianProxyFactoryBeanHessianServiceExporter,你可以使用Caucho提供的轻量级基于HTTP的二进制协议透明地提供你的业务。

    Burlap。Burlap是基于XML的,它可以完全代替Hessian。Spring提供的支持类有BurlapProxyFactoryBeanBurlapServiceExporter

    JAX RPC (TODO)

    这里主要讨论RMI的实现。

       利用Spring来实现RMI,不用实现remote接口,也不用调用rmic编译stub和skeleton, 服务端可以定义org.springframework.remoting.rmi.RmiServiceExporter类完成RMI服务器实现. 客户端只要定义org.springframework.remoting.rmi.RmiProxyFactoryBean,告知rmi的url和接口。

     这里需要Spring相关jar包,自行下载。

   首先看服务端:

   

接口:IUserService.java


实现类:UserService.java


PO类:User.java


服务端spring的配置:


服务端启动代码:TestServer.java


运行出现:


说明服务端运行成功。

客户端:

你可以将服务端class打成jar包,放到客户端的classpath下,一遍客户端可以引用到服务端的接口,spring来生成相关的代理类。

这里我生成的为rmiserver.ar,用myeclipse自动打包的。

java类:DisplayUser.java


spring 配置文件:client.xml

要透过org.springframework.remoting.rmi.RmiProxyFactoryBean,并告知服务的URL、代理的接口即可,就好像在使用本地端管理的服务一样:


测试rmi客户端类:TestClient.java


运行:

在远程服务端console会出现:

----------------进入save-------------------
------年龄----------20-------------------
-------性别---------男-------------------
--------身高--------176.0-------------------
---------体重-------64.0-------------------
---------名字-------军爷-------------------
说明调用成功!!!

最后rmi还会有一些注意的问题及:http://yangwencan2002.iteye.com/blog/284249

  


友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: