![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Dubbo
文章平均质量分 66
牙刷冰冰
这个作者很懒,什么都没留下…
展开
-
Dubbo @Adaptive注解 自适应扩展机制原理
Dubbo中可以通过SPI机制来加载对应扩展点实现,可是一个扩展点对应着多个实现类,我们如何才能触发目标实现类中的方法呢?Dubbo的Adaptive机制就是解决这个问题的。 下面我们用代码来看一下@Adaptive注解的使用方式以及源码实现。 扩展点接口 ICarService package com.dubbo.service; import org.apache.dubbo.common.URL; import org.apache.dubbo.common.extension.Adapti.原创 2021-04-26 22:19:10 · 356 阅读 · 0 评论 -
Dubbo SPI 源码解析
Dubbo SPI 基于Java的SPI机制,Dubbo在其思想的基础上自己实现了一套SPI机制,弥补了Java SPI的缺点,并进行了相应的扩展。 1. Dubbo SPI 改进了 Java SPI 的以下问题: Java SPI是一次性加载、实例化所有的扩展点实现,不支持根据key值去加载、实例化指定的扩展点实现。 Java SPI不支持IOC、AOP,Dubbo SPI则通过自动包装、自动装配等特性实现了IOC、AOP。 ServerLoader在加载类的过程中如果出现异常无法加载没有相关的异常原创 2021-04-25 18:47:24 · 250 阅读 · 0 评论 -
Java SPI
什么是SPI SPI全名是Service Provider Interface,通过接口寻找其具体的实现类,从而避免了使用方与提供方之间的强耦合,实现了动态可拔插的特性。 比如JDBC的数据库驱动模块,在JDBC以前的版本中,需要直接在代码中采用Class.forName(驱动实现类全名)的方式进行驱动初始化,导致想要更换数据库驱动模块就需要修改代码,具有很强的耦合度。 Class.forName("com.mysql.jdbc.Driver"); // 下面是mysql的驱动实现类 package c原创 2021-04-20 09:15:13 · 86 阅读 · 0 评论 -
Dubbo服务直连、只订阅
在本地或测试环境时,往往需要绕过注册中心,指定服务提供者从而进行测试,因此就可以通过如下配置进行服务直连。 注意:配置后会忽略注册中心中注册的服务提供者列表,因此不推荐在生产环境下使用该功能。 xml配置 <dubbo:reference interface="com.test.IUserService" url="dubbo://127.0.0.1:20880"/> 注解配置 @Reference(url="dubbo://127.0.0.1:20880") private IUser原创 2021-04-15 08:55:30 · 254 阅读 · 0 评论 -
Dubbo、Zookeeper、SpringBoot整合
1. Zookeeper搭建 1.1 下载 Zookeeper 1.2 在zookeeper根目录下创建data文件夹 1.3 在zookeeper的conf目录下创建zoo.config,修改里面的dataDir配置 # The number of milliseconds of each tick tickTime=2000 # The number of ticks that the initial # synchronization phase can take initLimit=10 # Th原创 2021-04-08 16:42:02 · 87 阅读 · 0 评论