上一篇博客Hessian探究(一)Hessian入门示例我们初步简单的介绍了一下Hessian的使用入门示例,由于Spring现在使用的实在是太广泛了,接下来我们介绍一下Hessian和Spring一起开发的过程。

在上一篇博客中我们是通过如下代码来调用Hessian发布的服务:简单来说就是通过URL进行访问来使用Hessian发布的服务。

package com.tianjunwei.hessian.client;

import java.net.MalformedURLException;

import com.caucho.hessian.client.HessianProxyFactory;
import com.tianjunwei.hessian.server.HelloService;

public class HelloServiceMain {

	public static void main(String [] args) throws MalformedURLException{
		String url = "http://localhost:8080/hessian";
	    System.out.println(url);
	    HessianProxyFactory factory = new HessianProxyFactory();
	    HelloService helloService = (HelloService) factory.create(HelloService.class, url);
	    System.out.println(helloService.helloWorld("jimmy"));
	}

}

在Spring下我们又是如何来使用Hessian的服务端来发布的服务的。

(1)Hessian给我们提供了在Spring下使用的HessianProxyFactoryBean,其实就是一个代理工厂,生成代理类。在spring的ApplicationContext.xml中进行如下配置,其实就是两个信息serviceUrl为Hessian暴露服务的连接,serviceInterface为暴露服务的接口。

<!-- 客户端Hessian代理工厂Bean -->
    <bean id="clientSpring" class="org.springframework.remoting.caucho.HessianProxyFactoryBean">
    	<!-- 服务端请求地址 -->
        <property name="serviceUrl">
	<span style="white-space:pre">	</span><value>http://localhost:8080/hessian</value>
        </property>
        <!-- 接口定义 -->
        <property name="serviceInterface">
            <span style="white-space:pre">	</span><value>com.tianjunwei.hessian.server.HelloService</value>
        </property>
    </bean>  

(2)经过第一步配置之后,接下来我们就可以在Spring中像使用普通的Bean一样来进行远程调用了,示例代码如下:

package com.tianjunwei.hessian.client;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.tianjunwei.hessian.server.HelloService;

public class SpringClient {

	    public static void main(String[] args) {
	        ApplicationContext contex = new ClassPathXmlApplicationContext(
	                "applicationContext.xml");
	        // 获得客户端的Hessian代理工厂bean
	        HelloService helloService = (HelloService) contex.getBean("clientSpring");
	        System.out.println(helloService.helloWorld("world"));
	    }
}

运行结果:

hello,world

Hessian探究(一)Hessian与Spring结合的更多相关文章

  1. Hessian探究(一)Hessian与springMVC结合

    上一篇博客Hessian探究(一)Hessian入门示例我们初步简单的介绍了一下Hessian的使用入门示例,我们是通过Servlet来暴露Hessian的对外服务的,接下来我们介绍一下通过Sprin ...

  2. Hessian Servlet和Hessian Spring的简单应用

    转自: http://lancui.iteye.com/blog/935578 简介 相比WebService,Hessian更简单.快捷.采用的是二进制RPC协议(Binary),因为采用的是二进制 ...

  3. Hessian探究(一)Hessian入门示例

    一.hessian的maven信息: [html] view plain copy print? <dependency> <groupId>com.caucho</gr ...

  4. java深入探究12-框架之Spring

    1.引入Spring 我们在搭建框架时常常会解决问题:对象创建,对象之间依赖关系如何处理,Spring就是来解决这类问题的:控制反转依赖注入 2.环境搭建 1)下载源码:其中3.0以下版本源码中有Sp ...

  5. Spring整合Hessian

    Spring让Hessian变得不但强大,而且易用,但是易用背后,却有不少陷阱!   这个例子很简单,但实际上的确花费了我超过一小时的时间,排除了种种问题,最后问题终于水落石出.   整合以上篇Hel ...

  6. spring mvc 结合 Hessian 配置

    spring mvc 结合 Hessian 配置 1.先在web.xml中配置 <!-- Hessian配置 --> <servlet> <servlet-name> ...

  7. spring集成Hessian的基本使用方法

    一.什么是RPC RPC全称Remote Procedure Call,中文名叫远程过程调用.RPC是一种远程调用技术,用于不同系统之间的远程相互调用.其在分布式系统中应用十分广泛. 二.什么是Hes ...

  8. hessian的简单使用以及与spring整合

    Hessian是一个由Caucho Technology开发的轻量级二进制RPC协议.和其他Web服务的实现框架不同的是,Hessian是一个使用二进制格式传输的Web服务协议的框架,相对传统soap ...

  9. hessian+spring集成应用

    注意事项 ▲JAVA服务器端必须具备以下几点:---->包含Hessian的jar包---->设计一个接口,用来给客户端调用---->实现该接口的功能---->配置web.xm ...

随机推荐

  1. 软件测试人员在工作中如何运用Linux

    从事过软件测试的小伙们就会明白会使用Linux是多么重要的一件事,工作时需要用到,面试时会被问到,简历中需要写到. 对于软件测试人员来说,不需要你多么熟练使用Linux所有命令,也不需要你对Linux ...

  2. 解决nodejs中json序列化时Date类型默认为UTC格式

    在nodejs中,json序列化时Date类型时,默认转为UTC格式. 如下图 上面只是一个例子,下面我用一个更具体化的例子来展示一个这个情况,我们在开发WEB项目中,经常用到Express组件, 我 ...

  3. Cisco 的基本配置实例之六----常排错命令--关闭提示

    TEST#terminal monitor # 排除网络故障以前,请打开这一命令以便实时的接收到交换机的提示信息. TEST# TEST#sh run #显示所有的配置清单,可将这些配置保存成文本作为 ...

  4. 线性表 linear_list 顺序存储结构

    可以把线性表看作一串珠子 序列:指其中的元素是有序的 注意last和length变量的内在关系 注意:将元素所占的空间和表长合并为C语言的一个结构类型 静态分配的方式,分配给一个固定大小的存储空间之后 ...

  5. 开启CSP网页安全政策防止XSS攻击

     一.简介 CSP是网页安全政策(Content Security Policy)的缩写.是一种由开发者定义的安全性政策申明,通过CSP所约束的责任指定可信的内容来源,(内容可以是指脚本.图片.sty ...

  6. Mysql B-Tree, B+Tree, B*树介绍

    [摘要] 最近在看Mysql的存储引擎中索引的优化,神马是索引,支持啥索引.全是浮云,目前Mysql的MyISAM和InnoDB都支持B-Tree索引,InnoDB还支持B+Tree索引,Memory ...

  7. Java 并发编程——Executor框架和线程池原理

    Eexecutor作为灵活且强大的异步执行框架,其支持多种不同类型的任务执行策略,提供了一种标准的方法将任务的提交过程和执行过程解耦开发,基于生产者-消费者模式,其提交任务的线程相当于生产者,执行任务 ...

  8. 一些重要的计算机网络协议(IP、TCP、UDP、HTTP)

    一.计算机网络的发展历程 1.计算机网络发展 与其说计算机改变了世界,倒不如说是计算机网络改变了世界.彼时彼刻,你我都因网络而有了交集,岂非一种缘分? 计算机与网络发展大致经历如下过程:

  9. CentOS7: How to install Desktop Environments on CentOS 7?

    1. Installing GNOME-Desktop: Install GNOME Desktop Environment on here. # yum -y groups install &quo ...

  10. TreeMap倒序以及遍历

    TreeMap倒序 TreeMap默认是按照Key给排序的,但是有的时候我们需要倒序,比如Key是日期,我们需要按照日期倒序显示(最近的时间在前面),类似下面这种情况 TreeMap倒序方法 tree ...