一、简介
在平时开发中,我们经常会使用到远程访问技术,而spring为各种远程访问技术的集合提供了整合类,使得实现这个技术变得相当简单。目前spring支持以下几种远程访问技术:
1、远程方法调用(RMI)
2、spring的http调用器
3、hessian
4、burlap
其中hessian采用基于http的二进制远程协议,比webservice简单,官网:http://www.caucho.com/hessian
Hessian 通过Servlet提供远程服务。需要将匹配某个模式的请求映射到Hessian服务。Spring的DispatcherServlet 可以完成该功能,DispatcherServlet可将匹配模式的请求转发到Hessian服务。Hessian的server端提供一个 servlet基类, 用来处理发送的请求,而Hessian的这个远程过程调用,完全使用动态代理来实现的,,推荐采用面向接口编程,因此,Hessian服务建议通过接口暴 露。
Hessian处理过程示意图:
客户端——>序列化写到输出流——>远程方法(服务器端)——>序列化写到输出流 ——>客户端读取输入流——>输出结果
二、使用
1.导入相应的包(大致见图片附件):
2.编写一个简单的接口
package com.test.hessian.service; public interface Hello { public String sayHello(); }
3.实现这个接口
package com.test.hessian.service.impl; import com.caucho.hessian.server.HessianServlet; import com.test.hessian.service.Hello; public class HelloImpl extends HessianServlet implements Hello { private static final long serialVersionUID = 5101571562928514433L; @Override public String sayHello() { return "hello"; } }
4.服务器端暴露接口,编写remoting-servlet.xml(默认保存在WEB-INF下)
<bean id="hello" class="com.test.hessian.service.impl.HelloImpl"/> <!-- 使用HessianServiceExporter 将普通bean导出成Hessian服务--> <bean name="/HessianRemoting" class="org.springframework.remoting.caucho.HessianServiceExporter"> <!-- 需要导出的目标bean--> <property name="service" ref="hello"/> <!-- Hessian服务的接口--> <property name="serviceInterface" value="com.test.hessian.service.Hello"/> </bean>
5.配置客户端连接服务
<bean id="myServiceClient" class="org.springframework.remoting.caucho.HessianProxyFactoryBean"> <property name="serviceUrl"> <!-- 路径格式为http://服务器ip地址/工程名/web.xml配置的url-pattern/服务端配置的hessian服务name --> <value>http://127.0.0.1:8080/xxx/remoting/HessianRemoting</value> </property> <property name="serviceInterface"> <value>com.test.hessian.service.Hello</value> </property> </bean>
6.web.xml
<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:spring-*.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>remoting</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>remoting</servlet-name> <url-pattern>/remoting/*</url-pattern> </servlet-mapping> </web-app>
7.客户端调用
ApplicationContext context = new ClassPathXmlApplicationContext("remoting-client.xml"); Hello hello=(Hello) context.getBean("myServiceClient"); hello.sayHello();
精彩科技工作室
相关推荐
本案例主要关注如何将Spring与Hessian进行集成,实现远程服务调用,从而提高系统的分布式能力。 首先,我们要理解Spring的核心概念。Spring通过依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-...
Spring AOP和Hessian是两个在Java开发中广泛使用的技术,尤其在分布式系统和服务治理中。下面将详细解释这两个概念以及它们如何结合使用。 **Spring AOP(面向切面编程)** Spring AOP是Spring框架的一个重要组成...
**Spring与Hessian的集成** 在Spring中集成Hessian,通常需要以下步骤: 1. **创建服务接口和服务实现:** 首先,你需要定义一个Java接口,其中包含你希望暴露给客户端的方法。然后实现这个接口,提供实际的业务...
Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能。 相比WebService,Hessian更简单、快捷。采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。参考文档地址...
1.名称:Spring + Hessian + Spring MVC(包括Server和Client).zip 2.来源:自己实现 3.备注:项目有两个系统,包括Server端和Client端,项目已经跑通,可以实现。 4.注意:client中pom.xml里最后的一个jar包,需要...
2. **配置Hessian服务**: 在Spring的配置文件中,使用`<bean>`标签定义HessianExporter,暴露服务接口。 ```xml <bean id="helloHessianExporter" class="org.springframework.remoting.caucho.HessianExporter">...
标题中的“spring整合hessian进行远程通讯”是指在Spring框架中使用Hessian库来实现远程过程调用(RPC)。这是一个常见的技术组合,用于构建分布式系统,使得应用组件之间可以跨网络进行高效通信。 Hessian是一种二...
Spring的核心特性包括依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented Programming, AOP),它还支持数据库事务管理、JMS、JMX等功能,并且可以与其他Java EE技术如JPA、JSF等无缝集成。...
5. **服务发布与消费**:在Spring配置中,我们需要定义服务接口和实现,并使用Hessian的相关注解或配置来暴露服务。在客户端,通过Maven引入依赖,使用HessianProxyFactoryBean创建服务代理,即可进行远程调用。 6....
使用eclipse maven工程搭建hessian远程服务demo 分服务端的整合和客户端 建议阅读相关博客http://blog.csdn.net/heisemuyangquan/article/details/79460528
【标题】"spring、hessian通过tomcat的简单环境应用源代码"涉及到的是在Java Web开发中使用Spring框架和Hessian服务序列化技术在Tomcat服务器上的集成与应用。Spring是一个广泛使用的开源Java应用程序框架,它提供了...
Spring MVC 是一个强大的Java Web应用程序开发框架,它简化了处理HTTP请求和响应的过程...通过Spring MVC处理HTTP请求,使用Hessian进行高效的远程方法调用,以及通过Maven管理项目依赖,使得开发过程更加便捷和高效。
在将Hessian与Spring进行整合时,我们需要确保引入了正确的jar包。这些jar包通常包括以下几个核心组件: 1. **Hessian库**:这是实现Hessian RPC的基础,包含了序列化和反序列化的类以及远程调用的相关接口。主要的...
本篇文章将深入探讨如何将Spring与Hessian整合,以便在分布式系统中轻松实现远程服务调用。 首先,让我们理解Spring整合Hessian的基本原理。Spring通过其强大的IoC(Inversion of Control)容器管理服务和客户端,...
在Spring中使用Hessian主要涉及以下几个关键点: 1. **服务端配置**: - 首先,你需要创建一个服务接口和服务实现类。例如,有一个`HelloService`接口和对应的`HelloServiceImpl`实现类。 - 接下来,在Spring的...
综上所述,将Hessian服务应用于Spring Web Flow项目,能够有效提升前端与后端之间的通信效率,同时利用SWF的强大流程管理能力,为用户提供顺畅的交互体验。然而,这也需要开发者对Spring、Spring Web Flow以及...
这篇博客文章可能详细介绍了如何将Spring与Hessian插件结合,并将原本的手动配置改为自动注入,从而简化了项目的配置和管理。 首先,我们需要理解Spring的自动注入机制。Spring依赖注入(Dependency Injection, DI...
当我们将Hessian与Spring进行整合时,主要目标是利用Spring的依赖注入(Dependency Injection, DI)和组件管理能力来简化Hessian服务的创建和管理。以下是一些关键知识点: 1. **Spring核心模块**(spring-core-...
一个Spring整合Hessian的Demo,同时包含Hessian服务端与客户端。是一个Maven工程,IDE使用的Eclipse,运行前需要安装Eclipse的Maven插件。可以结合文章一起学习,地址是...