1、依旧,还是先把jar包导入,pom.xml的maven依赖:
<dependency>
<groupId>com.sptsm.unicom.tsm.hessian</groupId>
<artifactId>sptsm-unicom-tsm</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.caucho</groupId>
<artifactId>hessian</artifactId>
<version>4.0.7</version>
</dependency>
2、hessian_ctx.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.0.xsd">
<!-- 系统用户接口 -->
<bean id="loginBusiness" class="org.springframework.remoting.caucho.HessianProxyFactoryBean">
<property name="serviceUrl">
<value><span><span class="string">http://localhost:8080/hessian/loginBusiness</span></span></value>
</property>
<property name="serviceInterface">
<value>com.gstd.service.business.ILoginBusiness</value>//客户端接口地址
</property>
<!-- 解决协议冲突 -->
<property name="overloadEnabled" value="true"></property>
</bean>
</beans>
3、在客户端项目运行时需要加载hessian_ctx.xml,所以在web.xml中需加如下配置:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:hessian_ctx.xml</param-value>
</context-param>
4、之后在controller中可以这样写
@Resource
private ILoginBusiness loginBusiness;
即可通过hessian调用service端ILoginBusiness接口实现的方法。当然,在调用ILoginBusiness接口时,在本地首先也得创建ILoginBusiness接口,并且方法和service端需一致。
ok,简单、直观、强悍。完成!