dubbo异步调用
来源:互联网 发布:游戏文案策划 知乎 编辑:程序博客网 时间:2024/06/01 08:25
dubbo的rpc服务如果使用的是长连接的协议,如dubbo协议,tcp长连接本身是双向异步的,dubbo内部通过监听返回结果,来实现方法调用的同步,所以性能上是有牺牲的。
例子:
consumer.xmls
<beanid="demoCallback"class="com.alibaba.dubbo.callback.implicit.NofifyImpl"/>< dubbo:reference id="demoService"interface="com.alibaba.dubbo.callback.implicit.IDemoService"version="1.0.0"group="cn">< dubbo:methodname="get"async="true"onreturn="demoCallback.onreturn"onthrow="demoCallback.onthrow"/></ dubbo:reference>
class NofifyImpl implements Nofify {public Map<Integer, Person> ret =newHashMap<Integer, Person>();public Map<Integer, Throwable> errors =newHashMap<Integer, Throwable>();public void onreturn(Person msg, Integer id) { //第一个参数为返回对象,第二个开始为入参System.out.println("onreturn:"+ msg);ret.put(id, msg);}public void onthrow(Throwable ex, Integer id) {//第一个参数为异常,第二个开始参数为入参,异常只有在onreturn的时候发生发生异常(返回异常,这里onreturn调用也是异常的),才调用,errors.put(id, ex);}}
主要关联的几个类,FutureFilter, AbstractInvoker, DubboInvoker
阅读全文
0 0
- Dubbo异步调用
- Dubbo-----异步调用
- dubbo异步调用
- Dubbo学习(十):异步调用
- Dubbo异步方法调用里有个坑
- dubbo异步调用的bug
- 淘宝SOA框架dubbo学习--异步调用
- dubbo异步同步调用混合使用问题
- dubbo 使用学习八(异步调用)
- Dubbo异步方法调用里的问题
- dubbo 使用学习八(异步调用
- dubbo使用异步方式调用对象
- dubbo异步调用三种方式
- dubbo异步调用传递性问题的解决方案
- 花擦节 dubbo异步调用变同步,解决异步调用返回值null的问题
- hsf dubbo学习六--泛化,回声测试,上下文信息,隐式传参,异步调用,本地调用
- DUBBO研究与学习二:打基础-同步调用、回调和异步调用区别
- 13.dubbo异步调用、本地调用、参数回调、事件通知
- 基于空间相关的图像模板匹配及MATLAB实现
- 链表中环的入口结点
- 纯手写mybatis mapper.xml 文件
- JSP几种页面间传递参数实现的方法
- linux 排序计数
- dubbo异步调用
- C
- C++之了解隐式接口和编译器多态(41)---《Effective C++》
- 【怎样写代码】对象克隆 -- 原型模式(三):原型模式
- 廖雪峰《python3 基础教程》读书笔记——第七章 模块
- easyui datebox日期控制扩展选择日期小于等于当前日期,开始日期小于等于结束日期
- Java中length,length(),size()的区别
- SQL总结(五)存储过程
- 基于 bootstrap-datetimepicker 联动