在准备阅读dubbo源码的过程中,必须要先弄清楚ExtensionLoader——扩展点加载,dubbo的整体架构风格采用Microkernel + Plugin,最大程度的面向接口不依赖具体实现,dubbo自身的功能就是通过组装扩展点实现的,官方文档中给出了26个扩展点,在遵守扩展点契约的前提下,用户可以自行扩展任意一个扩展点。  在dubbo源码中,类似上面这样通过ExtensionLoade            
                
         
            
            
            
            承接上篇, 本篇博文的主题就是认认真真捋一捋, 看一下 Dubbo是如何实现他的IOC / AOP / 以及Dubbo SPI这个拓展点的总览:本篇的话总体上分成两部分进行展开第一点就是 Dubbo在启动过程中加载原生的配置文件中提供的被@SPI标记的实现类:第二就是Dubbo加载程序员后续添加进去的被@SPI标注的接口和实现类,  进而探究 Dubbo的IOC / AOP / 以及Dubbo S            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-09-22 12:35:40
                            
                                42阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、扩展点配置详见我在《Java的SPI机制分析》文章中关于Dubbo的SPI机制的介绍,在此不再赘述。  
 二、扩展点流程分析之SPI    下面以Container加载的过程为例,来说明SPI扩展的实现流程:所有加上@SPI注解的扩展点可以有不同的扩展,Container代码如下:package com.alibaba.dubbo.container;            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-29 12:12:11
                            
                                50阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
                                
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-09-22 12:35:10
                            
                                52阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            前面我们了解过了Java的SPI扩展机制,对于Java扩展机制的原理以及优缺点也有了大概的了解,这里继续深入一下Dubbo的扩展点加载机制。Dubbo扩展点加载的功能Dubbo的扩展点加载机制类似于Java的SPI,我们知道Java的SPI在使用的时候,只能通过遍历来进行实现的查找和实例化,有可能会一次性把所有的实现都实例化,这样会造成有些不使用的扩展实现也会被实例化,这就会造成一定的资源浪费。有            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-14 10:11:14
                            
                                92阅读
                            
                                                        
                                点赞
                            
                                                                             
                 
                
                             
         
            
            
            
            前言紧接着上文Dubbo分析之Exchange层,继续分析protocol远程调用层,官方介绍:封装RPC调用,以Invocation, Result为中心,扩展接口为Protocol, Invoker, Exporter;Protocol接口类分析Protocol可以说是Dubbo的核心层了,在此基础上可以扩展很多主流的服务,比如:redis,Memcached,rmi,WebService,h            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-09 12:00:41
                            
                                27阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Java设计  
 ITeye 
 IOC 
 框架 
 配置管理 
 领域模型 
   转于自己在公司的Blog: 
 http://pt.alibaba-inc.com/wp/dev_related_1283/dubbo-extension.html   随着服务化的推广,网站对Dubbo服务框架的需求逐渐增多,   Dubbo的现有开发人员能实现的需求有限,很多需求都被delay,   而            
                
         
            
            
            
            Dubbo–服务扩展及初始化 Dubbo–服务扩展及初始化写在前面服务扩展初始化过程一级标签说明 写在前面本文参考了Dubbo官方手册结合Dubbo2.6.1版本源码分析。推荐先阅读官方手册。鉴于个人水平有限,如有不正确的地方请指出,欢迎一起讨论,谢谢!服务扩展Dubbo使用类似于SPI的方式进行服务扩展管理,从大量服务提供接口中选择实际提供服务的接口,并根据配置对服务添加配置包装类(第5步)。大            
                
         
            
            
            
            dubbo整合SpringBoot例子dubbo新版本(3.0以上)在相对于 dubbo 旧版本(2.5、2.6、2.7),有很多的不相同的地方。 本文就来使用dubbo3.0新版本 搭建一个dubbo+SpringBoot 项目,项目结构:源码已上传到github:https://github.com/DogerRain/dubbo-samples-test(项目名字是            
                
         
            
            
            
            在Dubbo 中,SPI 贯穿在整个Dubbo 的核心JAVA SPI在了解Dubbo 里面的SPI 之前,我们先了解下java 提供的SPI(service provider interface) 机制,SPI 是jdk 内置的一种服务提供发现机制。目前市面上有很多框架都是用它来做服务的扩展发现。其实它是一种动态替换发现的机制。来张图辅助理解下       java SPI 的缺点JDK标准的S            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-17 16:48:09
                            
                                62阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            前言上一篇 Dubbo 文章敖丙已经带了大家过了一遍整体的架构,也提到了 Dubbo 的成功离不开它采用微内核设计+SPI扩展,使得有特殊需求的接入方可以自定义扩展,做定制的二次开发。良好的扩展性对于一个框架而言尤其重要,框架顾名思义就是搭好核心架子,给予用户简单便捷的使用,同时也需要满足他们定制化的需求。Dubbo 就依靠 SPI 机制实现了插件化功能,几乎将所有的功能组件做成基于 SPI 实现            
                
         
            
            
            
            转自:https://blog.csdn.net/qq_25235807当@Adaptive注解没有注解在扩展点实现类上,而是在扩展点实现类的方法上的时候则会生成一个<扩展点接口名>$Adpative的代理类。 private Class<?> createAdaptiveExtensionClass() {        String code = createAdapt...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-05-25 09:12:01
                            
                                285阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            spi 是啥?spi,简单来说,就是 service provider interface,说白了是什么意思呢,比如你有个接口,现在这个接口有 3 个实现类,那么在系统运行的时候对这个接口到底选择哪个实现类呢?这就需要 spi 了,需要根据指定的配置或者是默认的配置,去找到对应的实现类加载进来,然后用这个实现类的实例对象。举个栗子。你有一个接口A。A1/A2/A3 分别是接口A的            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-02-21 06:40:50
                            
                                112阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Dubbo SPI1、加载机制概述1.1 Java SPI1.2 扩展点加载机制的改进1.3 扩展点的配置规范1.4 扩展点的分类与缓存1.5 扩展点的特性1.5.1 自动包装1.5.2 自动加载1.5.3 自适应性1.5.4 自动激活2、扩展点注解2.1 @SPI2.2 @Adaptive2.3 @Activate3、ExtensionLoader的工作原理3.1 工作流程3.2 getExt            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-21 10:11:15
                            
                                84阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Dubbo是什么?Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架(告别Web Service模式中的WSdl,以服务者与消费者的方式在d            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-26 20:07:40
                            
                                41阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             在阐述dubbo原理之前,我先介绍一下dubbo与spring怎么糅合在一块,为什么dubbo标签,spring可以解析以及dubbo spi是什么,这是学习dubbo的第一步,接下来,我们会从源码的角度,进一步解析dubbo如何实现服务暴露,注册,路由,负载均衡,线程模型,mock机制,超时重试,服务发现,启动检查,令牌,优雅关机,协议,序列化,编解码,缓存,泛化,事件 等,欢迎大家指正和学习            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2020-07-20 17:16:00
                            
                                37阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            包机制为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。包语句的语法格式为:package pkg1[.pkg2[.pkg3...]];一般利用公司域名倒置作为包名;为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用"import"语句可完成此功能import package1[.package2...].(classname|*);JavaDocJavaDoc命            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-04-09 20:47:24
                            
                                140阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            包机制            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-05-19 21:19:24
                            
                                223阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            SPI简介        SPI 全称为 Service Provider Interface,是一种服务发现机制,刚好与java jdk的类加载机制进行了一个互补。SPI 的本质是将接口实现类的全限定名配置在文件中,并由服务加载器读取配置文件,加载实现类。这样可以在运行时,动态为接口替换实现类。正因此特性,我们可以很容易的通过 SPI 机制为我们的程序提供拓展功能。SPI 机制在第三方框架中也有            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-26 19:06:20
                            
                                46阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文章目录JAVA的SPISPI是什么为什么要使用使用场景如何使用原理存在问题DUBBO的SPIDUBBO的SPI用法@SPI@Active 条件激活接口及实现类配置文件测试案例@Adaptive 自适配@Adaptive在SPI接口实现类上@Adaptive在SPI接口方法上DUBBO中动态编译的Class JAVA的SPISPI是什么SPI全称service provider interfac            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-14 21:42:31
                            
                                72阅读
                            
                                                                             
                 
                
                                
                    