一、使用hessian接口准备
首先,hessian接口的使用,必须要准备hessian接口的jar包,本文使用的jar包如下:hessian-4.0.7.jar;
Hessian接口的使用一般是在两个工程之间,本文假定工程A作为服务方,B作为使用方(客户端)。
二、服务方的配置和服务类的编写
A作为服务方,首先向A中导入hessian的jar包,若是maven工程,则直接添加hessian的依赖jar则可,否则直接将jar导入工程lib下面。
依赖添加如下:在A的pom.xml中 添加:如下的pom依赖配置:
添加完依赖之后,实现hessian的服务配置实现。配置hessian的servlet,便于服务方可以解析hessian的服务请求。在A中web.xml配置hessian的servlet如下:
配置完servlet之后,客户端的.hs的方式请求,都会按照servlet的配置,会到hessian-servlet.xml文件中读取配置,找到对应的服务的类方法。下面配置hessian-servlet.xml文件。
本文件为spring的配置文件,主要存放hessian的服务方的配置,多个hessian接口的配置均可以放到本文件中统一管理。下面以/hessianTestService.hs为例解释:配置如下
Bean name=“hessianTestService” 此为hessian接口的服务类的bean配置,这个大家都懂的,Bean name =“/hessianTestService.hs” 服务名,以.hs结尾,同时对应hessian的servlet的分发配置url mapping 如上面的servlert的配置。Class 为固定的jar包类的class。org.springframework.remoting.caucho.HessianServiceExporter ,此类包含两个属性:
Name=“service” 这是配置hessian服务对应的实现类。注入实现类的bean—hessianTestService
Name=“serviceInterface” 这是服务类实现的接口层。Value 设置接口名,带上包名的全称。到此,hessian服务方的配置,全部完成。
下面实现 服务类的测试,编写测试的方法如下:编写简单的测试方法,printMyName();
编写配置里面对应的实现类的接口:
三、客户端main函数的测试实现
服务方配置完成之后,启动A工程,保证服务方的正常运行。在B工程中首先编写main函数测试,能不能得到A中的刚刚编写的测试类的服务。首先,同样,使用hessian接口,还是要导入hessian的jar包。然后,编写与服务方同样的接口层,客户端的配置实现.然后编写,客户端的main调用实现类如下:
客户端的测试类分为两部分:getservice() 和 excute()首先用服务方提供的url得到接口层的服务IHessianTestService,然后通过IHessianTestService来执行服务方类的方法。至此,直接运行测试类的main方法,可以测试hessian的服务方是否可以使用。可以使用,则可以进行客户端的配置和注入使用。
测试运行结果如下:可以发现,调用了服务方的函数,得到结果显示:
四、客户端的配置和注入
测试通过了之后,开始配置hessian客户端:配置内容如下:
Bean name=”testHessianHs” 客户端的beanname class对应的是jar包类:org.springframework.remoting.caucho.HessianProxyFactoryBean
serviceInterface 对应的是客户端编码的与服务方一样的接口层。ServiceUrl 对应的是 服务方提供的url(工程上下文+hessian服务名)工程上下文 最后是配置方式的,方便实现不同环境的切换。
注意:配置客户端bean,最好是建一个专门的客户端spring配置文件,我是用hessian-client文件。让客户端工程的web.xml加载hessian-client.xml.
将得到的客户端bean testHessianHs 可以方便的注入到你的controller中,可以使用服务方的服务类的实现方法。注入方式如下:
到此为止,就能方便的在自己的业务类中注入自己的客户端的接口,方便的调用服务方提供的适用方法了.
简单的hessian接口的使用就结束了.