知识大全 Spring2.5整合RMI技术

Posted

篇首语:仓廪实则知礼节,衣食足则知荣辱。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Spring2.5整合RMI技术相关的知识,希望对你有一定的参考价值。

Spring2.5整合RMI技术  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  Java的RMI技术使用起来比较麻烦 有两点 服务发布和调用服务

  通过Spring的RMI支持 可以非常容易的暴露任何的服务

  下面是之前一篇《Java RMI之HelloWorld篇》文章的基础上 加入了Spring的框架来实现的例子

  环境 jdk

  spring framework SEC

  所用的第三方包优先从Spring的lib包中获取 以获取最佳的兼容性

  所依赖的jar包

  

  一 服务端实现

  第一服务接口 和以前不一样了 不用实现远程接口了

   package lavasoft sturmi; /** * 定义一个远程接口 * * @author leizhimin : : */ public interface HelloService         /**          * 简单的返回 Hello World! 字样          *          * @return 返回 Hello World! 字样          */         public String helloWorld();         /**          * 一个简单的业务方法 根据传入的人名返回相应的问候语          *          * @param someBodyName 人名          * @return 返回相应的问候语          */         public String sayHelloToSomeBody(String someBodyName);

  服务实现类

   package lavasoft sturmi; /** * 远程的接口的实现 * * @author leizhimin : : */ public class HelloServiceImpl implements HelloService         public HelloServiceImpl()                  /**          * 简单的返回 Hello World! 字样          *          * @return 返回 Hello World! 字样          */         public String helloWorld()                 return Hello World! ;                  /**          * 一个简单的业务方法 根据传入的人名返回相应的问候语          *          * @param someBodyName 人名          * @return 返回相应的问候语          */         public String sayHelloToSomeBody(String someBodyName)                 return 你好 + someBodyName + ! ;         

  Spring配置rmi服务

   <?xml version= encoding= UTF ?> <!DOCTYPE beans PUBLIC //SPRING//DTD BEAN//EN                  beans dtd > <beans>         <bean id= helloService class= lavasoft sturmi HelloServiceImpl />         <bean id= serviceExporter class= springframework remoting rmi RmiServiceExporter >                 <property name= service ref= helloService />                 <! 定义服务名 >                 <property name= serviceName value= hello />                 <property name= serviceInterface value= lavasoft sturmi HelloService />                 <property name= registryPort value= />         </bean> </beans>

  服务端测试

   package lavasoft sturmi; import ntext ApplicationContext; import ntext support ClassPathXmlApplicationContext; /** * 通过Spring发布RMI服务 * * @author leizhimin : : */ public class HelloHost         public static void main(String[] args)                 ApplicationContext ctx = new ClassPathXmlApplicationContext( /applicationContext_rmi_server xml );                 System out println( RMI服务伴随Spring的启动而启动了 );         

  启动后如图所示

  

  二 客户端调用测试

  客户端调用有两种方式 一种是使用Spring 一种不使用 这里仅介绍使用Spring的情况

  在Spring中配置客户端要调用服务

   <?xml version= encoding= UTF ?> <beans                 xmlns=                 xmlns:xsi= instance                 xsi:schemaLocation= beans xsd >         <bean id= helloService class= springframework remoting rmi RmiProxyFactoryBean >                 <property name= serviceUrl value= rmi:// : /hello />                 <property name= serviceInterface value= lavasoft sturmi HelloService />         </bean>         <bean id= helloServiceClient class= lavasoft sturmi HelloClient >                 <property name= helloService ref= helloService />         </bean> </beans>

  客户端测试代码

   package lavasoft sturmi; import ntext ApplicationContext; import ntext support ClassPathXmlApplicationContext; import java rmi RemoteException; /** * 通过Spring来调用RMI服务 * * @author leizhimin : : */ public class HelloClient         private HelloService helloService;         public static void main(String[] args) throws RemoteException                 ApplicationContext ctx = new ClassPathXmlApplicationContext( /applicationContext_rmi_client xml );                 HelloService hs = (HelloService) ctx getBean( helloService );                 System out println(hs helloWorld());                 System out println(hs sayHelloToSomeBody( Lavasoft ));                  public void setHelloService(HelloService helloService)                 this helloService = helloService;         

  运行结果

cha138/Article/program/Java/ky/201311/28662

相关参考

知识大全 Spring2.5注释驱动与基于注释的MVC

Spring2.5注释驱动与基于注释的MVC  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Sp

知识大全 Spring2.5访问Session属性的四种策略

Spring2.5访问Session属性的四种策略  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 利用spring2.5和Reflection简化测试中的mock[3]

利用spring2.5和Reflection简化测试中的mock[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶

知识大全 利用spring2.5和Reflection简化测试中的mock[2]

利用spring2.5和Reflection简化测试中的mock[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶

知识大全 利用spring2.5和Reflection简化测试中的mock[1]

利用spring2.5和Reflection简化测试中的mock[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶

知识大全 通过Spring2.5对单元测试的Annotation支持进行TDD开发

通过Spring2.5对单元测试的Annotation支持进行TDD开发  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们

知识大全 Java远程方法调用RMI

Java远程方法调用RMI  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  前段时间公司做webs

知识大全 一个相当经典的RMI实例源代码及详细说明

一个相当经典的RMI实例源代码及详细说明  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  RMI技

知识大全 JAVA RMI远程方法调用简单实例

JAVARMI远程方法调用简单实例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  RMI的概念 

知识大全 Java对象序列化与RMI

Java深度历险:Java对象序列化与RMI  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  对于