RPC hessian简单案例
RPC(Remote procedure call) 远程服务调用。
dubbox就是RPC框架,hessian是简单的RPC实现。
首先需要有接口及其实现类:
接口。
public interface HessianService { String getHessianServiceMethod(); }
实现类
public class HessianServiceImpl implements HessianService{
@Override
public String getHessianServiceMethod() { System.out.println("On hessian service implement class!");
return "hessian service";
}
}
servlet映射:
在web.xml里面加入
<servlet>
<servlet-name>remoting</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 默认是加载WEB-INF/servlet-name+"-servlet.xml"文件,在这里可以配置为加载WEB-INF/classes/remoting-servlet.xml这个文件 -->
<init-param>
<param-name>namespace</param-name>
<param-value>classes/remoting-servlet</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>remoting</servlet-name>
<url-pattern>/remoting/*</url-pattern>
</servlet-mapping>
再到remoting-servlet.xml中加入实现类映射:
<!-- hessian RPC -->
<bean name="HessianService" class="com.*.hessian.impl.HessianServiceImpl" />
<bean name="/hessian/HessianService"
class="org.springframework.remoting.caucho.HessianServiceExporter">
<!-- service引用的具体实现类 -->
<property name="service" ref="HessianService"></property>
<property name="serviceInterface" value="com.*.hessian.HessianService"></property>
</bean>
然后简单的hessianRPC就可以实现了。
测试:
String url="http://127.0.0.1:8080/spring/remoting/hessian/HessianService";//spring是项目名
HessianProxyFactory hf= new HessianProxyFactory();
HessianService hessianService = (HessianService)hf.create(HessianService.class, url);
String hessianServiceMethod = hessianService.getHessianServiceMethod();
System.out.println("--------"+hessianServiceMethod);
RPC hessian简单案例的更多相关文章
- Servlet请求头response应用简单案例
Servlet请求头response应用简单案例:访问AServlet重定向到BServlet,5秒后跳到CServlet,并显示图片: AServlet package cn.yzu; import ...
- winform 通过 html 与swf 交互 简单案例
在上一篇 winform 与 html 交互 简单案例 中讲了winform与html之间的简单交互,接下来的内容是在winform中以html为中转站,实现将swf嵌入winform中并实现交互. ...
- [Design Pattern] Front Controller Pattern 简单案例
Front Controller Pattern, 即前端控制器模式,用于集中化用户请求,使得所有请求都经过同一个前端控制器处理,处理内容有身份验证.权限验证.记录和追踪请求等,处理后再交由分发器把请 ...
- [Design Pattern] Observer Pattern 简单案例
Observer Pattern,即观察者模式,当存在一对多关系,例如一个对象一有变动,就要自动通知被依赖的全部对象得场景,属于行为类的设计模式. 下面是一个观察者模式的简单案例. Observer ...
- [Design Pattern] Mediator Pattern 简单案例
Meditor Pattern,即调解模式,用一个调解类类处理所有的沟通事件,使得降低多对象之间的沟通难度,属于行为类的设计模式.为了方便理解记忆,我也称其为,沟通模式. 下面是一个调解模式的简单案例 ...
- [Design Pattern] Iterator Pattern 简单案例
Iterator Pattern,即迭代时模式,按照顺序依次遍历集合内的每一个元素,而不用了解集合的底层实现,属于行为类的设计模式.为了方便理解记忆,我也会称其为遍历模式. 下面是一个迭代器模式的简单 ...
- [Design Pattern] Command Pattern 简单案例
Command Pattern, 即命令模式,把一个命令包裹在一个对象里面,将命令对象传递给命令的执行方,属于行为类的设计模式 下面是命令模式的一个简单案例. Stock 代表被操作的对象.Order ...
- [Design Pattern] Proxy Pattern 简单案例
Proxy Pattern, 即代理模式,用一个类代表另一个类的功能,用于隐藏.解耦真正提供功能的类,属于结构类的设计模式. 下面是 代理模式的一个简单案例. Image 定义接口,RealImage ...
- [Design Pattern] Flywight Pattern 简单案例
Flywight Pattern, 即享元模式,用于减少对象的创建,降低内存的占用,属于结构类的设计模式.根据名字,我也将其会理解为 轻量模式. 下面是享元模式的一个简单案例. 享元模式,主要是重用已 ...
随机推荐
- Storm进阶
并行度 在Storm集群中真正运行Topology的主要有三个实体:worker.executor.task,下图是可以表示他们之间的关系. 数据流模型 对于一个Spout或Bolt,都会有多个tas ...
- Head First 设计模式之观察者模式(Observer Pattern)
前言: 这一节开始学习观察者模式,开始讲之前会先像第一节那样通过一个应用场景来引入该模式.具体场景为:气象站提供了一个WeatherData对象,该对象可以追踪获取天气的温度.气压.湿度信息,Weat ...
- 关于redis的主从复制
redis主从复制需要注意的一个问题 这两天我朋友在使用redis偶尔会遇见一个问题,就是所有的缓存莫名其妙会不见,找了好久都没找到,他一直以为 有人错误执行了什么命令 他跟我说的时候我估计是主从复制 ...
- 为Asp.net WebApi 添加跨域支持
Nuget安装包:microsoft.aspnet.webapi.cors 原文地址:https://www.asp.net/web-api/overview/security/enabling-cr ...
- ASP.NET webform基于Jquery,AJAX的三级联动
主要html代码 <select id="province"> <option value="0">--请选择省份--</opti ...
- Oracle 存储过程 split 代码实现
实现 字符串分割, 算法 如下: 算法 1: DECLARE remove_column myvarray_list; x ); sub ); i NUMBER; j NUMBER; c NUMBER ...
- Node.js的process.nextTick(callback)理解
Node.js是单线程的,基于事件循环,非阻塞 IO的.事件循环中使用一个事件队列,在每个时间点上,系统只会处理一个事件,即使电脑有多个CPU核心,也无法同时并行的处理多个事件.因此,node.js适 ...
- [Linux] 无法访问国外网站,完成epel源安装的解决办法--待续
一.缘由: 由于一个机房的网络限制,无法访问国外IP地址,在安装一些开源软件的时候比如smokeping.ansible就无法从epel源在线安装, 编译安装的话,又需要安装各种依赖,麻烦的一逼.所以 ...
- AVD Manager
启动AVD Manager会弹出下面的窗口: 然后点击右侧的Create来新建一个模拟器,创建一个模拟器,取名Phone,然后选择设备屏幕尺寸,SDK的大小. 创建完成后,选中刚刚创建的模拟器,然后点 ...
- C#创建DBF自由库 [转]
先看段代码: string ole_connstring = @"Provider=VFPOLEDB.1;Data Source=D:\;";System.Data.OleDb.O ...