场景:

当我们执行远程服务调用时,客户端通常只剩下接口,而实现全在服务器端,但提供方有些时候想在客户端也执行部分逻辑,比如:提前验证参数,调用失败后伪造容错数据等等,此时就需要在 API 中带上 Stub,客户端生成 Proxy 实例,会把 Proxy 通过构造函数传给 Stub,然后把 Stub 暴露给用户,Stub 可以决定要不要去调 Proxy。

开发步骤:

1,在我们的dubbo-interface,开发服务对应的本地存根

/*** @author huangguizhao*/
public class UserServiceStub implements IUserService {private final IUserService userService;//构造函数传入真正的远程代理对象public UserServiceStub(IUserService userService){this.userService = userService;}@Overridepublic String hello(String name) {if(name == null || "".equals(name)){return "validate param";}return userService.hello(name);}
}

2,在dubbo-consumer,服务引用中,设置存根

@Reference(version = "*",stub = "com.hgz.springbootdubboconsumer.stub.UserServiceStub")
private IUserService userService;

3,调用服务,观察执行结果

有帮到你的点赞、收藏关注一下吧

需要更多教程,微信扫码即可

Dubbo 本地存根相关推荐

  1. Dubbo(十二)dubbo的服务版本配置以及本地存根使用介绍

    一.接口服务多版本管理 在实际项目场景中在发布生产之前会存在一个过渡的灰度版本环境,dubbo也一样在接口服务升级时,可以实现两个版本的服务接口,指定不同的版本号.当少量的消费端调用引用高版本后使用无 ...

  2. Dubbo 本地调试,直连本地服务提供者心法

    Dubbo 本地调试,直连本地服务提供者心法 当你手头项目分了几个服务,而其中需要通过 dubbo 进行远程接口调用时,自测就成了一个让人感到麻烦的事情. 可能大家有听过一种方法,就是本地启动 pro ...

  3. Dubbo本地开发技巧

    背景 作为后端服务负载.前后分离的主要手段,dubbo在业界中使用率还比较高.随着Dubbo系统的增多,本地开发.调试就出现了麻烦之处 直接在开发本地起同样一份服务 由于Dubbo采用负载均衡的策略, ...

  4. DUBBO本地搭建及小案例

    DUBBO的介绍部分我这里就不介绍了,大家可参考官方文档. DUBBO的注册中心安装 DUBBO的注册中心支持好几种,公司用到zookeeper注册中心,所以我这边只说明zookeeper注册中心如何 ...

  5. dubbo学习之事件通知实践

    目录 实践 dubbo-demo-interface dubbo-demo-xml-provider notify-provider.xml UserNotifyServiceImpl Provide ...

  6. Dubbo-04 20190317

    SpringBoot使用dubbo 1. idea没问题可以直接创建 如果使用eclipse 需要安装spring插件 1 )查看eclipse版本 Help->About Eclipse ID ...

  7. Dubbo原理何源码解析之服务暴露

    2019独角兽企业重金招聘Python工程师标准>>> 一.框架设计 在官方<Dubbo 用户指南>架构部分,给出了服务调用的整体架构和流程: 另外,在官方<Dub ...

  8. Dubbo 源码分析 - 服务引用

    1. 简介 在上一篇文章中,我详细的分析了服务导出的原理.本篇文章我们趁热打铁,继续分析服务引用的原理.在 Dubbo 中,我们可以通过两种方式引用远程服务.第一种是使用服务直联的方式引用服务,第二种 ...

  9. Dubbo 源码分析 - 服务导出

    1.服务导出过程 本篇文章,我们来研究一下 Dubbo 导出服务的过程.Dubbo 服务导出过程始于 Spring 容器发布刷新事件,Dubbo 在接收到事件后,会立即执行服务导出逻辑.整个逻辑大致可 ...

最新文章

  1. 《C#精彩实例教程》小组阅读09 -- C#数组与集合
  2. python软件包自带的集成开发环境-实验一 熟悉Python的集成开发环境
  3. PHP起点 - PHP常量
  4. 软件设计期末考试重点内容
  5. 2020年,我来盘点下微服务架构技术栈
  6. C#多线程技术总结(异步)
  7. Hashtable、HashMap、TreeMap总结
  8. mysql讀取sql_MySQL数据库之python json及mysql读取json文件存sql等问题
  9. 铁路售票系统_黑龙江一学生购买的火车票上惊现“学猪”字样!铁路部门给出回应...
  10. Pictures Test
  11. python微博_「Python」 - 微博数据分析
  12. python图像文字识别 - PyTesser
  13. 一个字形容大数据_关于大数据,你应该知道的75个专业术语
  14. Nebula Graph 系列(1) —— 初识 Nebula
  15. 二、网络编程之协议及协议格式详解
  16. mc服务器语音,浸入式语音(Immersive Voice)|我的世界1.12.2版本
  17. 怎样将wmv格式的视频转换成mp4格式
  18. word制作招聘启示文档教学
  19. 第四章 ContextCapture 19 空三控制点平差
  20. 矢量数据shp七个文件介绍_读取矢量数据

热门文章

  1. 苹果上新了!新款iPad Pro发布:妙控键盘成最大惊喜
  2. 微信暗黑模式终于来了!这次微信对苹果认怂了?腾讯张军回应...
  3. 疫情相关电信诈骗涉案金额超3.51亿元,谨防这四类骗局!
  4. 小米电视双十一大降价:55寸仅1399元
  5. 办公室小野与爆米花视频身亡女孩家属和解:补偿金额保密
  6. 4799元!OPPO Reno巴萨定制版开启预售:7月26日正式开售
  7. SpaceX公布四月份宇宙飞船爆炸原因:由阀门泄露引发
  8. “分类垃圾桶”成交同比涨超七成 塑料概念股集体波动
  9. 屏幕强大!一加7 Pro海外版发布:2K分辨率 90Hz刷新率
  10. 拳王虚拟项目公社:网上比较容易挣到钱方式?虚拟资源项目是赚钱的最佳选择