Hessian可以单独使用,不依赖于spring,由于工作中所使用服务提供方和服务调用方都是用spring作为容器的,所以本文先介绍一下hessian整合Spring的用法
一:服务提供端
1、jar包依赖 pom.xml (与spring整合需要spring-webmvc包依赖)
<dependency> <groupId>com.caucho</groupId> <artifactId>hessian</artifactId> <version>4.0.33</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>3.2.5.RELEASE</version> </dependency>
2、Web.xml的配置(配置请求的拦截,与配置文件的位置)
<servlet> <servlet-name>remote</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/classes/remote-ref.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>remote</servlet-name> <url-pattern>/remote/*</url-pattern> </servlet-mapping>
3、写服务接口及实现类(实现类示例如下)
@Service("testService") public class TestServiceImpl implements TestService { @Resource private MenuQueryManager menuQueryManager; @Override public String getValue() { return "hello world"; } @Override public Timestamp getCurrentDate() { return DateUtil.getCurrentTimestamp(); } }
4、对外提供服务的配置文件remote-ref.xml(文件名来源是web.xml中配置的文件名)
<?xml version="1.0" encoding="UTF-8"?> <beans …> <!-- 对外提供的接口,name为请求路径,class固定不变 --> <bean name="/testService" class="org.springframework.remoting.caucho.HessianServiceExporter"> <!—service配置服务类,即服务实现类注解所标示的名称,serviceInterface为服务类的接口 --> <property name="service" ref="testService"/> <property name="serviceInterface" value="com.xxx.xxx.remote.TestService"/> </bean> </beans>
二:服务使用方
1、jar包依赖 pom.xml
<dependency> <groupId>com.caucho</groupId> <artifactId>hessian</artifactId> <version>4.0.33</version> </dependency>
2、接口依赖包(从服务端抽取接口jar包),然后加入classpath中
3、配置加载web.xml(名称随便,spring能加载该配置文件即可
<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-*.xml,classpath:remote-service.xml</param-value> </context-param>
4、远程服务配置remote-service.xml
<!-- id为远程服务的名称,class固定 --> <bean id="testService" class="org.springframework.remoting.caucho.HessianProxyFactoryBean"> <!-- 接口的远程地址 --> <property name="serviceUrl" value="http://127.0.0.1:8080/test/remote/testService"/> <!-- 接口名称 --> <property name="serviceInterface" value="com.xxx.xxx.remote.TestService"/> </bean>
http://127.0.0.1:8080/test/remote/testService标红的这部分为服务端配置服务的bean的name
5、客户端调用
@Controller("testAction") @Scope("prototype") public class TestAction extends ActionSupport { @Resource private com.xxx.xxx.remote.TestService testService; @Override public String execute() throws Exception { System.out.println(testService.getValue()); System.out.println(testService.getCurrentDate()); return null; } }
相关推荐
当我们谈论“Hessian与Spring整合”时,通常是指将Hessian作为服务通信的机制,结合Spring框架来构建分布式服务系统。这种整合有以下几个关键点: 1. **服务提供者(Service Provider)**:首先,我们需要在服务端...
在将Hessian与Spring进行整合时,我们需要确保引入了正确的jar包。这些jar包通常包括以下几个核心组件: 1. **Hessian库**:这是实现Hessian RPC的基础,包含了序列化和反序列化的类以及远程调用的相关接口。主要的...
当我们将Hessian与Spring进行整合时,主要目标是利用Spring的依赖注入(Dependency Injection, DI)和组件管理能力来简化Hessian服务的创建和管理。以下是一些关键知识点: 1. **Spring核心模块**(spring-core-...
Hessian是一个轻量级的remoting on http工具,使用简单的方法提供了RMI(Remote Method Invocation,远程方法调用)的功能。采用的是二进制RPC(Remote Procedure Call Protocol,远程过程调用协议)协议,因为采用...
二、Hessian与Spring整合 Hessian与Spring的整合可以帮助我们更好地管理和控制远程服务。Spring作为一个强大的企业级应用框架,可以提供依赖注入、事务管理等特性。在整合过程中,我们可以在Spring配置文件中声明...
### Hessian与Spring整合知识点详解 #### 一、Hessian简介 Hessian是一个轻量级的远程服务调用框架,其主要特点在于采用高效的二进制格式进行数据传输,这使得它非常适合处理大量的二进制数据。Hessian通过HTTP协议...
Spring通过其AOP(面向切面编程)和IoC(控制反转)理念,为Hessian提供了便捷的整合方式。在Spring中,我们可以定义一个Service Bean,然后使用HessianExporter或者HessianProxyFactoryBean来暴露这个服务或者创建...
在Spring整合中,我们可以使用HessianExporter来暴露服务,HessianProxyFactoryBean来创建服务客户端。 3. **Maven**:Maven的pom.xml文件定义了项目依赖、构建过程和插件设置。在这个项目中,它会管理Spring、...
标题中的“spring整合hessian进行远程通讯”是指在Spring框架中使用Hessian库来实现远程过程调用(RPC)。这是一个常见的技术组合,用于构建分布式系统,使得应用组件之间可以跨网络进行高效通信。 Hessian是一种二...
Spring Boot 整合 Hessian 的示例 在本文中,我们将通过实例代码来介绍如何将 Hessian 集成到 Spring Boot 应用程序中。Hessian 是一个基于 RPC(Remote Procedure Call,远程过程调用)的轻量级框架,它提供了一个...
本案例主要关注如何将Spring与Hessian进行集成,实现远程服务调用,从而提高系统的分布式能力。 首先,我们要理解Spring的核心概念。Spring通过依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-...
本文主要讨论的是如何将Hessian RPC与RMI技术整合到Structs、Spring、Hibernate和Ibatis这四个关键的Java开发框架中,以构建一个高效、灵活的分布式应用程序。 1. **Hessian配置说明**: Hessian的配置通常涉及...
总的来说,Spring整合Hessian访问远程服务是Java开发中的常见实践,它利用Spring的灵活性和Hessian的高效性,简化了服务的发布和调用流程,是构建分布式系统时的一个有效工具。通过学习和掌握这一技术,开发者可以更...
一个Spring整合Hessian的Demo,同时包含Hessian服务端与客户端。是一个Maven工程,IDE使用的Eclipse,运行前需要安装Eclipse的Maven插件。可以结合文章一起学习,地址是...
struts2+ibatis+spring+Hessian 整合项目 web项目整合,服务端用hessian协议远程调用服务端的方法,hessian是用spring代理整合,struts2+ibatis+spring的整合项目,用作学习和开发基础平台构建很有用处,工程导入...
在IT行业中,构建高效、可扩展的Web应用是至关重要的,而Spring MVC、Hibernate和Hessian这三大技术框架的整合可以实现这一目标。本篇将详细介绍这三个组件以及它们如何协同工作,帮助开发者构建高质量的分布式应用...
Hessian是一个由Caucho Technology开发的轻量级二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。 本例子使用spring 整合hessian使开发更加的容易。
在Spring Web Flow项目中应用Hessian服务,是一个深入整合分布式服务和前端流程管理的重要实践。Spring Web Flow(SWF)是一个强大的MVC框架,用于构建具有复杂导航逻辑的Web应用程序,而Hessian则是一种轻量级的二...