Hessian远程调用框架
Hessian 是一个轻量级的基于HTTP协议的远程调用(Remote Procedure Call, RPC)框架,它使用Binary-RPC协议,该协议是以二进制格式定义请求信息,从而简化了数据传输,
并且提高了跨语言通讯的能力,使得不同编程语言编写的系统也能互相调用对方的方法。
在Java服务器端使用Hessian时,需要以下几个步骤:
- 引入Hessian的jar包到项目中。
- 设计一个接口,用于客户端调用。
- 实现该接口的具体功能。
- 在web.xml中配置Hessian Servlet,如
<servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>或 Spring 的HessianServiceExporter以暴露服务。 - 服务端实现类及其传递的对象都需要实现
Serializable接口,以便序列化和传输。 - 对于复杂对象,可以考虑使用
Map类型进行传递。
与Spring框架整合时,服务端具体步骤包括:
- 导入Spring和Hessian的相关jar包。
- 编写业务接口和其实现类。
- 在web.xml中配置Spring MVC的DispatcherServlet。
- 在Spring配置文件(如
remoting-servlet.xml)中声明业务接口实现类,并使用HessianServiceExporter暴露服务。 - 启动应用服务器以发布服务。
- 通过HTTP URL测试服务,例如:
http://localhost:端口号/项目名/服务映射路径(remoting/customer)。
客户端使用Hessian时:
- 引入Hessian的客户端jar包。
- 客户端拥有与服务器端一致的接口定义。
- 使用
HessianProxyFactory或HessianProxyFactoryBean创建远程服务代理对象,配置服务接口和服务器URL。
以下是客户端Spring配置的例子:
<bean id="customerService" class="org.springframework.remoting.caucho.HessianProxyFactoryBean">
<property name="serviceInterface" value="com.example.CustomerService"/>
<property name="serviceUrl" value="http://localhost:8080/crm/remoting/customer"/>
</bean>
通过这样的配置,客户端可以通过Spring容器注入的代理对象如同本地调用一样使用远程服务。Hessian因其简单易用和跨语言特性,在分布式系统中常被用来实现快速、高效的远程服务调用。

浙公网安备 33010602011771号