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

  • 相关阅读:
    27. Remove Element
    列表变成字典
    1. Two Sum
    CVPR2019:What and How Well You Performed? A Multitask Learning Approach to Action Quality Assessment
    959. Regions Cut By Slashes
    118. Pascal's Triangle
    loj3117 IOI2017 接线 wiring 题解
    题解 NOI2019 序列
    题解 省选联考2020 组合数问题
    题解 Educational Codeforces Round 90 (Rated for Div. 2) (CF1373)
  • 原文地址:https://www.cnblogs.com/lilin0719/p/5257821.html
Copyright © 2020-2023  润新知