需要包:
spring 2.5.6
hessian 3.1.6
spring2.5.6不支持hessian4.0
web容器:
tomcat 6.0
1、定义接口;
public TBean implements Serializable
{
private String name;
private String code;
/**
*todo: get and set method here
*/
}
public interface IHello
{
TBean hello(TBean tb);
}
public class Hello implements IHello
{
/**todo:*/
}
2、通过spring mvc公布接口
spring配置文件中增加如下代码
<bean id="hello" class="Hello"/>
<bean name="helloHessian"
class="org.springframework.remoting.caucho.HessianServiceExporter">
<property name="service"><ref bean="hello"/></property>
<property name="serviceInterface">
<value>IHello</value>
</property>
</bean>
<bean id="urlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/helloHessian">helloHessian</prop>
</props>
</property>
</bean>
配置web.xml,增加如下代码:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:conf/spring/spring*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>remote</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:conf/spring/spring.remote.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、将接口发布到客户端程序
将IHello复制到客户端程序
客户端spring配置
<bean id="helloHessian" class="org.springframework.remoting.caucho.HessianProxyFactoryBean">
<property name="serviceUrl">
<value>http://xxxx:8080/hessian/remote/helloHessian</value>
</property>
<property name="serviceInterface">
<value>IHello</value>
</property>
</bean>
4、客户端调用接口
helloHessian.hello(null);
具体实现时,客户端的配置没有用到spring配置文件,而是写代码手工创建一个对象,代码如下:
public class DataSyncRemote
{
private static HessianProxyFactoryBean hessianProxy = new HessianProxyFactoryBean();
private Logger logger = Logger.getLogger(DataSyncRemote.class);
static
{
hessianProxy.setServiceInterface(IDataSyncHessian.class);
}
public static IDataSyncHessian getRemoteService(String ip)
{
hessianProxy.setServiceUrl("http://"+ip+":8080/hessian/remote/helloHessian");
hessianProxy.setServiceInterface(IDataSyncHessian.class);
hessianProxy.afterPropertiesSet();
return (IDataSyncHessian) hessianProxy.getObject();
}
}
分享到:
相关推荐
【标题】"maven-spring-hessian:带有 Hessian 的 Hello world Spring Web 应用程序" 描述了一个基于 Maven、Spring 和 Hessian 技术构建的简单 Web 应用示例。这个项目的核心是演示如何在分布式环境中使用 Hessian ...
在本示例“hessian-demo”中,我们将探讨如何在Spring 4框架下集成Hessian 4.0.7,以及利用内置的Jetty服务器来运行这个示例。 首先,让我们深入了解Hessian的工作原理。Hessian协议基于HTTP,但采用了二进制编码,...
【S25-Hessian反序列化1】是一个关于Java中Hessian序列化库的讨论,主要涉及Hessian与原生Java序列化的差异以及在Spring框架中的应用。Hessian是一种二进制序列化协议,旨在提高远程过程调用(RPC)的效率。与原生Java...
Spring AOP和Hessian是两个在Java开发中广泛使用的技术,尤其在分布式系统和服务治理中。...通过运行这个示例,你可以更好地理解Spring AOP和Hessian如何协同工作,以及如何在实际项目中部署和使用它们。
以上就是Spring、SpringMVC与Hessian RPC结合的简单示例。通过这个例子,我们可以了解到如何在Spring中配置Hessian服务,并在客户端进行调用。这对于初学者来说是一个很好的起点,可以深入理解分布式系统的通信机制...
3. **示例代码**:可能包含了一些简单的服务提供者和服务消费者示例,帮助开发者理解如何使用此starter来构建自己的RPC服务。 4. **配置文件**:如`application.properties`或`application.yml`,其中可能预设了...
整体而言,Spring Framework 5.0中文文档PDF是一份全面的技术参考资料,它不仅介绍了Spring框架的各个方面,还提供了丰富的代码示例和使用场景,帮助开发者理解和掌握Spring的各种技术细节。对于希望深入学习Spring...
【标题】"spring、hessian通过tomcat的简单环境应用源代码"涉及到的是在Java Web开发中使用Spring框架和Hessian服务序列化技术在Tomcat服务器上的集成与应用。Spring是一个广泛使用的开源Java应用程序框架,它提供了...
**Spring MVC、Hessian与Maven简单实例** 在IT行业中,Spring MVC、Hessian和Maven是三个重要的技术组件,它们分别在Web开发、远程服务调用和项目构建管理方面发挥着关键作用。本篇文章将深入探讨这些技术,并提供...
在IT行业中,Hessian和Spring的集成是服务端开发中常用的一种技术,它允许我们将Java对象作为远程服务进行调用,极大地提高了开发效率和系统的可扩展性。下面将详细讲解Hessian与Spring集成的关键知识点。 首先,...
【描述】:在描述中,我们看到"spring+hessian+maven整合.zip",这表明压缩包中可能是一个示例项目,用于演示如何将Spring、Hessian和Maven集成到一起。Spring是Java领域广泛使用的IoC(Inversion of Control)和AOP...
以下是一个简单的示例: ```java @Service("myService") public class MyServiceImpl implements MyService { // 实现业务逻辑 } @Configuration public class HessianConfig { @Autowired private MyService ...
本篇文章将深入探讨如何将Spring与Hessian整合,以便在分布式系统中轻松实现远程服务调用。 首先,让我们理解Spring整合Hessian的基本原理。Spring通过其强大的IoC(Inversion of Control)容器管理服务和客户端,...
的各种简单示例,快速入门使用 Spring Boot 各种组件 示例项目 基础部分: :Spring Boot 快速入门 Hello world 示例 :Spring Boot 自定义 Banner (启动图案) :Spring Boot 主题切换 :Spring Boot 简单的服务...
Spring Boot 整合 Hessian 的示例 在本文中,我们将通过实例代码来介绍如何将 Hessian 集成到 Spring Boot 应用程序中。Hessian 是一个基于 RPC(Remote Procedure Call,远程过程调用)的轻量级框架,它提供了一个...
- 提供了一个现成的示例,帮助开发者快速上手Spring Boot和Dubbo的集成。 - 可以作为学习和调试的基础,了解如何在实际项目中实现服务的发布、调用和监控。 - 对比不同版本的Spring Boot和Dubbo,理解新版本带来...
2. Spring 2.0 的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 更简单的XML配置 2.2.2. 新的bean作用域 2.2.3. 可扩展的XML编写 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@AspectJ 切面的...
一个简单的Hessian,简单介绍了Hessian的使用方式,介绍了Hessian和Spring集成的使用方式,以及单独使用Hessian的方式。
Hessian是一种二进制协议,它允许在不同的编程语言之间进行高效的远程方法调用(RPC)。...通过分析和实践这些示例代码,你可以更好地掌握Hessian的工作原理和使用方式,为你的跨语言项目打下坚实的基础。