需要包:
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,远程过程调用)的轻量级框架,它提供了一个...
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 切面的...
- 提供了一个现成的示例,帮助开发者快速上手Spring Boot和Dubbo的集成。 - 可以作为学习和调试的基础,了解如何在实际项目中实现服务的发布、调用和监控。 - 对比不同版本的Spring Boot和Dubbo,理解新版本带来...
一个简单的Hessian,简单介绍了Hessian的使用方式,介绍了Hessian和Spring集成的使用方式,以及单独使用Hessian的方式。
Hessian是一种二进制协议,它允许在不同的编程语言之间进行高效的远程方法调用(RPC)。...通过分析和实践这些示例代码,你可以更好地掌握Hessian的工作原理和使用方式,为你的跨语言项目打下坚实的基础。