`
newslxw
  • 浏览: 213855 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

spring-hessian简单示例

阅读更多
需要包:
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();
    }
    
}
  
0
4
分享到:
评论

相关推荐

    maven-spring-hessian:带有 Hessian 的 Hello world Spring Web 应用程序

    【标题】"maven-spring-hessian:带有 Hessian 的 Hello world Spring Web 应用程序" 描述了一个基于 Maven、Spring 和 Hessian 技术构建的简单 Web 应用示例。这个项目的核心是演示如何在分布式环境中使用 Hessian ...

    hessian-demo示例

    在本示例“hessian-demo”中,我们将探讨如何在Spring 4框架下集成Hessian 4.0.7,以及利用内置的Jetty服务器来运行这个示例。 首先,让我们深入了解Hessian的工作原理。Hessian协议基于HTTP,但采用了二进制编码,...

    S25-hessian反序列化1

    【S25-Hessian反序列化1】是一个关于Java中Hessian序列化库的讨论,主要涉及Hessian与原生Java序列化的差异以及在Spring框架中的应用。Hessian是一种二进制序列化协议,旨在提高远程过程调用(RPC)的效率。与原生Java...

    spring aop hessian 基础demo 部署即可运行

    Spring AOP和Hessian是两个在Java开发中广泛使用的技术,尤其在分布式系统和服务治理中。...通过运行这个示例,你可以更好地理解Spring AOP和Hessian如何协同工作,以及如何在实际项目中部署和使用它们。

    spring springmvc hessian rpc客户端及服务端示例demo

    以上就是Spring、SpringMVC与Hessian RPC结合的简单示例。通过这个例子,我们可以了解到如何在Spring中配置Hessian服务,并在客户端进行调用。这对于初学者来说是一个很好的起点,可以深入理解分布式系统的通信机制...

    rpc-spring-boot-starter.rar

    3. **示例代码**:可能包含了一些简单的服务提供者和服务消费者示例,帮助开发者理解如何使用此starter来构建自己的RPC服务。 4. **配置文件**:如`application.properties`或`application.yml`,其中可能预设了...

    spring-framework-5.0 中文文档PDF

    整体而言,Spring Framework 5.0中文文档PDF是一份全面的技术参考资料,它不仅介绍了Spring框架的各个方面,还提供了丰富的代码示例和使用场景,帮助开发者理解和掌握Spring的各种技术细节。对于希望深入学习Spring...

    spring、hessian通过tomcat的简单环境应用源代码

    【标题】"spring、hessian通过tomcat的简单环境应用源代码"涉及到的是在Java Web开发中使用Spring框架和Hessian服务序列化技术在Tomcat服务器上的集成与应用。Spring是一个广泛使用的开源Java应用程序框架,它提供了...

    spring mvc hessian maven简单实例

    **Spring MVC、Hessian与Maven简单实例** 在IT行业中,Spring MVC、Hessian和Maven是三个重要的技术组件,它们分别在Web开发、远程服务调用和项目构建管理方面发挥着关键作用。本篇文章将深入探讨这些技术,并提供...

    Hessian和Spring集成示例

    在IT行业中,Hessian和Spring的集成是服务端开发中常用的一种技术,它允许我们将Java对象作为远程服务进行调用,极大地提高了开发效率和系统的可扩展性。下面将详细讲解Hessian与Spring集成的关键知识点。 首先,...

    spring+hessian+maven整合.zip

    【描述】:在描述中,我们看到"spring+hessian+maven整合.zip",这表明压缩包中可能是一个示例项目,用于演示如何将Spring、Hessian和Maven集成到一起。Spring是Java领域广泛使用的IoC(Inversion of Control)和AOP...

    hessian学习实例

    以下是一个简单的示例: ```java @Service("myService") public class MyServiceImpl implements MyService { // 实现业务逻辑 } @Configuration public class HessianConfig { @Autowired private MyService ...

    Spring整合Hessian访问远程服务

    本篇文章将深入探讨如何将Spring与Hessian整合,以便在分布式系统中轻松实现远程服务调用。 首先,让我们理解Spring整合Hessian的基本原理。Spring通过其强大的IoC(Inversion of Control)容器管理服务和客户端,...

    word源码java-fleet-spring-boot:SpringBoot教程,SpringBoot的各种简单示例,快速入门使用Sprin

    的各种简单示例,快速入门使用 Spring Boot 各种组件 示例项目 基础部分: :Spring Boot 快速入门 Hello world 示例 :Spring Boot 自定义 Banner (启动图案) :Spring Boot 主题切换 :Spring Boot 简单的服务...

    spring boot整合hessian的示例

    Spring Boot 整合 Hessian 的示例 在本文中,我们将通过实例代码来介绍如何将 Hessian 集成到 Spring Boot 应用程序中。Hessian 是一个基于 RPC(Remote Procedure Call,远程过程调用)的轻量级框架,它提供了一个...

    Spring-Reference_zh_CN(Spring中文参考手册)

    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-boot1.5.20+dubbo

    - 提供了一个现成的示例,帮助开发者快速上手Spring Boot和Dubbo的集成。 - 可以作为学习和调试的基础,了解如何在实际项目中实现服务的发布、调用和监控。 - 对比不同版本的Spring Boot和Dubbo,理解新版本带来...

    一个简单的Hessian示例

    一个简单的Hessian,简单介绍了Hessian的使用方式,介绍了Hessian和Spring集成的使用方式,以及单独使用Hessian的方式。

    hessian php与java通讯demo源码

    Hessian是一种二进制协议,它允许在不同的编程语言之间进行高效的远程方法调用(RPC)。...通过分析和实践这些示例代码,你可以更好地掌握Hessian的工作原理和使用方式,为你的跨语言项目打下坚实的基础。

Global site tag (gtag.js) - Google Analytics