Hessian是一个使用二进制Web服务协议的框架,它的好处在于免除了一大堆附加的API包。
一、hessian在web项目中的服务端应用。
1、在web.xml中:
<servlet> <servlet-name>Hessian</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:spring-hessian.xml </param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Hessian</servlet-name> <url-pattern>/hessian/*</url-pattern> </servlet-mapping>
2、spring-hissian.xml配置
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <description>server properties</description> <bean id="_facadeService" class="com.xxx.hessian.FacadeServiceImpl"> </bean> <bean id="facadeService" name="/facadeService" class="org.springframework.remoting.caucho.HessianServiceExporter"> <property name="service"> <ref bean="_facadeService"/> </property> <property name="serviceInterface"> <value>com.xxx.hessian.client.FacadeService</value> </property> </bean> </beans>
以上,hessian的服务器端配置完成。具体的实现写上对应的接口和实现类的代码即可。
二、hessian在客户端的调用。
1、将服务端编写的接口(不包含实现)和相应的POJO类打包,并引入客户端项目中。
2、在spring中初始化bean,然后调用。具体如下:
<bean id="facadeService" class="org.springframework.remoting.caucho.HessianProxyFactoryBean"> <property name="proxyFactory"> <bean class="com.caucho.hessian.client.HessianProxyFactory"> <property name="readTimeout" value="${hessian.readTimeout}" /> </bean> </property> <property name="serviceUrl" value="${hessian.hessianUrl}/facadeService" /> <property name="serviceInterface" value="com.xxx.hessian.client.FacadeService" /> <property name="overloadEnabled" value="true" /> </bean>
3、在要调用hessian服务的类中注入这个bean。然后就可以像调用本地方法一样调用了。