Hessian远程调用

Hessian调用

简单说来,Hessian是一个轻量级的RPC框架(RPC是什么?)
你的题目是RPC框架,首先了解什么叫RPC,为什么要RPC,RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。

它基于HTTP协议传输,使用Hessian二进制序列化,对于数据包比较大的情况比较友好。
但是它的参数和返回值都需要实现Serializable接口。参数值序列化是要把参数值序列化成二进制的形式,

使用:

1.首先在web下添加pom依赖
<dependency>
<groupId>com.caucho</groupId>
<artifactId>hessian</artifactId>
<version>4.0.51</version>
</dependency>
2.在web.xml中添加配置
<!-- 远程调用接口 -->

<servlet>
<servlet-name>hessian</servlet-name>
<servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class>
<init-param>
<param-name>home-class</param-name>
<param-value>com.test.PersonServiceImpl</param-value>
</init-param>
<init-param>
<param-name>home-api</param-name>
<param-value>com.test.PersonServciceI</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>hessian</servlet-name>
<url-pattern>/hessian</url-pattern>
</servlet-mapping>
3.在springmvc.xml中配置
<!-- 配置远程服务的代理对象 -->
<bean id="customerService" class="org.springframework.remoting.caucho.HessianProxyFactoryBean">
<!-- 注入接口类型 -->
<property name="serviceInterface" value="com.gyf.crm.service.CustomerService"/>
<!-- 服务访问路径 -->
<property name="serviceUrl" value="http://localhost:8080/crm/remoting/customer"/>
</bean>
4.在服务器B中拿到接口的位置

在这里插入图片描述

5.在自己的服务器端

在这里插入图片描述

6.在controller中直接注入
@Autowired
private CustomerService customerService;

就可以直接使用接口了

猜你喜欢

转载自blog.csdn.net/csdn_667/article/details/103479639