当前位置: 首页 > news >正文

百度怎么注册自己的网站简易的在线数据库网站模板

百度怎么注册自己的网站,简易的在线数据库网站模板,wordpress菜单侧边栏,视频网站架构目录 绪论实践 dubbo-demo-interfacedubbo-demo-xml-providerdubbo-demo-xml-consumer启动 绪论 今天主要学习并实践dubbo的本地存根stub机制。首先了解一下官网文档对本地存根的介绍#xff1a; 远程服务后#xff0c;客户端通常只剩下接口#xff0c;而实现全在服务器…目录 绪论实践 dubbo-demo-interfacedubbo-demo-xml-providerdubbo-demo-xml-consumer启动 绪论 今天主要学习并实践dubbo的本地存根stub机制。首先了解一下官网文档对本地存根的介绍 远程服务后客户端通常只剩下接口而实现全在服务器端但提供方有些时候想在客户端也执行部分逻辑。 比如做 ThreadLocal 缓存提前验证参数调用失败后伪造容错数据等等。 核心思想API 中带上 Stub客户端生成 Proxy 实例**会把 Proxy 通过构造函数传给 Stub** 然后把 Stub 暴露给用户Stub 可以决定要不要去调 Proxy。Stub会使用代理模式将原有的远程调用service进行包装让使用者可以在远程服务调用前后做一些通用处理非常适合做缓存容错或者日志处理异常包装等。故本地存根机制类似与AOP机制中的around advice环绕增强 则本地存根执行顺序 1.服务消费者发起调用 2.如果服务消费者端存在本地存根 Stub 的话会先执行本地存根 3.本地存根 Stub 持有远程服务的 Proxy 对象Stub 在执行的时候会先执行自己的逻辑(before)然后通过Proxy 发起远程调用最后在返回过程之前也会执行自己的逻辑(after-returning) 4.如果远程服务的 Proxy 对象在执行过程中抛出了 exception会执行服务消费端的本地伪装 Mock 的逻辑 (after-throwing)【后面再议】返回容错数据从而达到服务降级的目的。 如图 实践 虽然dubbo官网简单给了本地存根的示例但不是能够足以解决新手实战问题其他博客千篇一律没有几乎什么改进的地方溪源学习的时候也是在花费了两个下班的时间搞定的实践实属坎坷 写在前面 dubbo官网给出两种设置本地存根的示例 stub的属性值设置为实现类的全限定名stub的属性值则默认设置为true 溪源主要给大家说下第二种方式踩坑点 如果默认将stub属性设置为true则必须保证本地存根实现类以Stub命名结尾例如UserServiceStub. 那为什么要这么设置呢给大家贴一下源码ServiceConfig#checkAndUpdateSubConfigs()类中。 如果实现类不以Stub结束,那反射查找本地存根实现类便找不到又谈何实现本地存根的逻辑呢 踩坑点相信大家已经清楚下面开始进入实战环节。 再看下dubbo官网本地存根细品细品 dubbo-demo-interface 目录结构如下 UserService 简单定义一个方法 /** author wxdate 2020/9/6 11:39 下午测试本地存根服务接口 / public interface UserService { /* 根据用户名返回用户名字param userId 用户IDreturn 用户名 */ String getUserName(String userId); } UserServiceStub /** author wx date 2020/9/6 11:09 下午 服务消费者实现接口并实现本地存根逻辑 */ public class UserServiceStub implements UserService { private static final String USER_ID “1503891”; private final UserService userService; /** 通过构造方法将服务接口代理对象接口实现类对象传入stubparam userService */ public UserServiceStub(UserService userService) { this.userService userService; } Override public String getUserName(String userId) { System.out.println(“开始执行服务消费端本地存根逻辑”); if (StringUtils.isBlank(userId)) { return “userId is null”; } if (!USER_ID.equals(userId)) { return “user not exits”; } String userName userService.getUserName(userId); System.out.println(“结束执行服务消费端本地存根逻辑”); return userName; } } dubbo-demo-xml-provider 目录结构 stub-provider.xml UserProviderStubServiceImpl /** author wx date 2020/9/6 11:09 下午 服务消费者实现接口并实现本地存根逻辑 */ Service public class UserProviderStubServiceImpl implements UserService { private static final String USER_ID “1503891”; Override public String getUserName(String userId) { return USER_ID.equals(userId) ? “溪源” : “”; } } ProviderApplication /** * 服务端Stub测试 * throws IOException */ private static void stubTest() throws IOException { ClassPathXmlApplicationContext context new ClassPathXmlApplicationContext(“spring/stub-provider.xml”); context.start(); System.in.read(); } dubbo-demo-xml-consumer stub-consumer.xml 消费者端并没有新增实现类但溪源为了代码的整洁与后期维护、梳理选择了新建stub-consumer.xml配置文件和单元测试的模式实践. ConsumerApplication private static void stubTest() { ClassPathXmlApplicationContext context new ClassPathXmlApplicationContext(“spring/stub-consumer.xml”); UserService stubService context.getBean(UserService.class); String userName stubService.getUserName(“1503891”); System.out.println(userName); }启动 分别启动providerconsumer如图 测试1 将userId传为空 测试2 到此为止本地存根实践应用结束大家对源码如何实现原理可以借助此demo开始debug吧 溪源初次接触dubbo本地存根机制如文中存在错误之处希望大家及时指正 源码传送门https://github.com/stream-source/dubbo/tree/master/dubbo-demo
http://www.hkea.cn/news/14358184/

相关文章:

  • 泰州专业做网站的公司263网站建设
  • 横店影视城网站建设山西建工网登录
  • win2008 iis7创建网站管理员网站后台上传本地视频
  • 国内企业建站模板做iframe跳转怎么自适应网站
  • 杭州网站建设app蒙古文政务网站建设工作汇报
  • 网站建设行业2017东莞网络推广
  • 网站运营代理柘城县网站建设
  • 苏州市住房建设局网站淘宝装修免费模板有哪些网站
  • 2008vps做网站外链建设给网站起的作用
  • 做百度网站还是安居客网站深圳高端商场排名
  • 建设项目银行网站兴国电商网站建设
  • 网站策划的最终体现是什么wordpress单本小说源码
  • 早教网站模板安徽建设工程信息网官
  • 先备案还是先做网站珠海建设工程监督站网站
  • 新郑网站开发WordPress小程序导航主题
  • 免费生成图片的网站手机网络不稳定怎么解决
  • 汕头网站建设网站建设基于django的电子商务网站设计
  • 做的网站有广告共享影院 wordpress
  • 建站公司合同模板ih5 wordpress
  • 个人网站设计要求营销公司取名字大全
  • 接口网站开发有app怎么做网站
  • 广州网站建设全包网址大全网站
  • 网站备案域名需要解析到备案服务器吗都哪些网站可以做gif
  • 苏州公司建设网站制作金华网络公司网站建设
  • 58做二手车网站应该怎么推广如何做网站广告图片
  • 恒星科技网站建设电商设计参考网站
  • 电子烟网站设计app展示网站模板
  • 网站建设600元全包wordpress 主题 破解版
  • 怎么做网站给国外看见山东高端网站定制
  • 网站兼容所有浏览器网站的建设课程