`
newslxw
  • 浏览: 207875 次
  • 性别: 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
分享到:
评论

相关推荐

    hessian-demo示例

    hessian-demo工程示例,已集成内置jetty插件,可以直接运行。 spring4,hessian4.0.7

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

    spring springmvc hessian rpc客户端及服务端示例demo,可直接运行,适合hessian入门的同学们学习,仅供有需要的同学们参考

    Hessian和Spring集成示例

    这是Hessian和Spring集成的示例,具体步骤请参考本人博客: http://blog.csdn.net/jjasun/article/details/29593083

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

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

    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 切面的...

    一个简单的Hessian示例

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

    geb-testng-0.9.1.zip

    spring-amqp-hessian.zip,带Hessian的Spring AMQP上的RPC

    hessian学习实例

    hessian学习实例,hessian框架例子,与Spring集成。包括了server端和client端

    spring boot整合hessian的示例

    本文通过实例代码给大家介绍了spring boot整合hessian的方法,需要的朋友可以参考下

    hessian+spring

    hessian+srping 整合示例文档

    Spring 2.0 开发参考手册

    8.3.5. 示例 8.3.6. 运行集成测试 8.4. 更多资源 II. 中间层数据访问 9. 事务管理 9.1. 简介 9.2. 动机 9.3. 关键抽象 9.4. 使用资源同步的事务 9.4.1. 高层次方案 9.4.2. 低层次方案 9.4.3. ...

    Spring中文帮助文档

    8.3.8. PetClinic示例 8.4. 更多资源 II. 中间层数据访问 9. 事务管理 9.1. 简介 9.2. 动机 9.3. 关键抽象 9.4. 使用资源同步的事务 9.4.1. 高层次方案 9.4.2. 低层次方案 9.4.3. ...

    spring chm文档

    Spring Framework 开发参考手册 Rod Johnson Juergen Hoeller Alef Arendsen Colin Sampaleanu Rob Harrop Thomas Risberg Darren Davison Dmitriy Kopylenko Mark Pollack Thierry Templier Erwin ...

    Spring API

    8.3.8. PetClinic示例 8.4. 更多资源 II. 中间层数据访问 9. 事务管理 9.1. 简介 9.2. 动机 9.3. 关键抽象 9.4. 使用资源同步的事务 9.4.1. 高层次方案 9.4.2. 低层次方案 9.4.3. ...

    hessian远程通信

    本示例是hessian与spring整合的,客户端与服务端相互调用的最完整例子。

    J2EE开发全程实录(JAVA项目开发)

    6.2.1 Hessian使用演示... 72 6.2.2 几种Remoting实现的比较... 75 6.3 改造HttpInvoker 75 6.3.1 服务文件的分模块化... 82 6.3.2 本地服务加载器... 85 6.4 Remoting Session实现... 87 6.4.1 实现思路... 88 ...

    java开源包1

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    java开源包10

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    JAVA上百实例源码以及开源项目源代码

    简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 凯撒加密解密程序 1个目标文件 1、程序结构化,用函数分别实现 2、对文件的加密,解密输出到文件 利用随机函数抽取幸运数字 ...

    java开源包11

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

Global site tag (gtag.js) - Google Analytics