Hessian服务搭建

来源:互联网 发布:mac如何设置用户名 编辑:程序博客网 时间:2024/05/01 05:51

Hessian服务搭建

1. web.xml中增加servlet和servlet-mapping:

 <!--hessian-->

   <servlet>

       <servlet-name>hession</servlet-name>

       <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

       <init-param>

           <param-name>contextConfigLocation</param-name>

           <param-value>classpath:spring-config-hession.xml</param-value>

       </init-param>

       <load-on-startup>2</load-on-startup>

   </servlet>

 

   <servlet-mapping>

       <servlet-name>hession</servlet-name>

       <url-pattern>/hession/*</url-pattern>

   </servlet-mapping> 

   

2. 由于DispatcherServlet是spring-mvc包中的类,这里需要加入spring-mvb依赖

 <dependency>

           <groupId>org.springframework</groupId>

           <artifactId>spring-webmvc</artifactId>

           <version>2.5.6</version>

       </dependency>

ps:这里一定要注意版本号,必须跟本项目的spring一个版本,我在搭建过程中曾经使用了3.1.2版本,

结果spring是2.5.6版本,导致很多冲突。

 

3. 在classpath下加入spring-config-hession.xml配置文件。用于hession服务的定义。

 

   <!--艺人相关服务-->

   <bean id="artistService" class="com.jd.music.admin.service.forhomepage.impl.ArtistServiceImpl"/>

 

   <bean name="/artistService" class="com.jd.digital.common.util.hession.JdPopHessianServiceExporter">

       <property name="service" ref="artistService"/>

       <property name="serviceInterface"

                 value="com.jd.digital.common.service.music.forhomepage.service.ArtistService"/>

       <property name="token" value="654321"/>

   </bean>

注:1.先声明一个服务的实现bean

        2.JdPopHessianServiceExporter 这个类继承了hession的HessianServiceExporter,是京东封装的一个hession处理容器,如下:

public class JdPopHessianServiceExporter extends HessianServiceExporter

        3.服务端这样配置就ok了,访问地址为{domain}/servlet-mapping/service      

 

4. 加入hessian依赖

  <dependency>

           <groupId>com.caucho</groupId>

           <artifactId>hessian</artifactId>

           <version>3.1.3</version>

   </dependency>

 

 

5. 客户端配置:定义spring配置文件,spring-config-hession-client.xml,

 

这里用的域名访问,客户端配host即可。

至此,客户端直接调用artistServiceClient就可以了。


0 0
原创粉丝点击