• Hessian 接口使用示例总结(转载)


    一、使用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接口的使用就结束了.

    本文为原创作品,欢迎吐槽,转载请注明:http://www.cnblogs.com/lilin0719/
  • 相关阅读:
    matlab从ECG信号数据趋势项的消除
    matlab使用移动平均滤波器、重采样和Hampel过滤器进行信号平滑处理
    R语言如何做马尔科夫转换模型markov switching model
    python主题建模可视化LDA和T-SNE交互式可视化
    R语言Wald检验 vs 似然比检验
    R语言rjags使用随机效应进行臭氧数据分析
    matlab对MCMC贝叶斯方法用于加筋复合板的冲击载荷识别
    4. 纯 CSS 创作一个金属光泽 3D 按钮特效
    3.纯 CSS 创作一个容器厚条纹边框特效
    2.纯 CSS 创作一个矩形旋转 loader 特效
  • 原文地址:https://www.cnblogs.com/lizhonghua34/p/6410283.html
Copyright © 2020-2023  润新知