`
jishuaige
  • 浏览: 10313 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

dubbo-探索之旅(一)---初探外围

阅读更多
     Dubbo-阿里巴巴公司的产物,为了实现SOA(面向服务的体系架构)的工具。本人对阿里技术一直在关注中,同时也为后面的工作增加储备。因此决定进入Dubbo中,去探索一下。在网上看了其他朋友写的文章后,感觉自己还是处在云里雾里中,所以打算自己写点内容,一是整理思路;二是记录一下自己的心得,以后好实时查看。好记性不如烂笔头嘛。
     Dubbo涉及到的知识还是很多的,所以自己先不进入源码,首先看看和整理一下涉及到的知识。先把外围阵地肃清了,在进入核心阵地!
     外围:
     1:JDK动态代理:
这个可以参考一下网址:http://blog.jobbole.com/104433/。(谢谢作者:@伯乐在线 - 寻找"四叶草" )里面写的很详细还附带了JDK源码的分析。
     2:Javassist(Java字节码生成开源框架):
import javassist.ClassPool;  
import javassist.CtClass;  
import javassist.CtMethod;  
import javassist.CtNewMethod;  
public class MyJavassist {  
    public static void main(String[] args) throws Exception {  
        ClassPool pool = ClassPool.getDefault();  
        //创建Test类       
        CtClass cc= pool.makeClass("com.jishuaige.Test");  
        //定义test方法  
        CtMethod method = CtNewMethod.make("public void test(){}", cc);  
        //插入方法代码  
        method.insertBefore("System.out.println(\"test.....\");");  
        cc.addMethod(method);   
        cc.writeFile("d://myJavassist");  
    }  
}  

     3:Java spi机制(重点):
  Java的SPI(Service Provider Interface)提供的机制:我们定义服务的接口标准,让各个实现人员按照接口标准完成各自的实现。
  JDK通过ServiceLoader来查找各个实现类,它会遍历所有jar包查找META-INF/services目录下的文件内容,来加载各个实现类,这有点类似IOC的思想,动态的注入实现类。
  使用SPI必须遵循它的标准:1)创建文件夹:META-INF/service,放在classpath下。2)META-INF/service下放置配置文件,文件名称必须是被实现接口的全路径。
  ServiceLoader的缺点:1)ServiceLoader使用延迟加载,全部加载一遍接口的实现类。如果你并不想用某些实现类,但它也被加载并实例化了,这点就很不爽了,我要使用什么就加载什么三。2)获取某个实现类的方式不够方便,只能通过Iterator形式获取。
      好了,这里大概介绍了一下我现在看到和了解到的外围知识(后面深入的时候再回来补充,也欢迎大家共同分析)
      下面开始进入dubbo:dubbo里面是怎么使用SPI的。
     


   
   
分享到:
评论

相关推荐

    dubbo-admin-2.5.4及dubbo-monitor-2.5.3 安装及配置

    dubbo-admin安装要点: 1.清空tomcat/webapps/ROOT目录 2.将包解压到tomcat/webapps/ROOT下 3.修改tomcat/webapps/ROOT/WEB-INF/dubbo.properties 文件 dubbo.registry.address dubbo接口服务注册地址: 单机...

    dubbo-dubbo-2.7.3.rar

    dubbo源码dubbo-dubbo-2.7.3.rardubbo源码dubbo-dubbo-2.7.3.rardubbo源码dubbo-dubbo-2.7.3.rardubbo源码dubbo-dubbo-2.7.3.rardubbo源码dubbo-dubbo-2.7.3.rardubbo源码dubbo-dubbo-2.7.3.rardubbo源码dubbo-dubbo...

    incubator-dubbo-dubbo-2.5.8

    【标题】"incubator-dubbo-dubbo-2.5.8" 是一个基于Java的开源服务框架,由Apache孵化器项目提供。这个版本是Dubbo的2.5.8稳定版,它包含了Dubbo的核心服务治理功能以及一个专门的管理平台——dubbo-admin。 【描述...

    dubbo-admin-2.5.4.war

    【标题】"dubbo-admin-2.5.4.war" 指的是 Dubbo 提供的一款基于 Web 的管理控制台应用,版本为 2.5.4。这个 WAR 文件是一种打包好的 Java Web 应用程序,可以在支持 Java Servlet 的容器(如 Apache Tomcat)上部署...

    dubbo-admin的下载

    而dubbo-admin是Dubbo框架的一部分,它提供了一个管理控制台,允许开发者监控和管理服务的运行状态,包括服务的注册、发现、调用统计等。本文将详细讨论如何解决dubbo-admin的下载问题,特别是针对之前可能出现的...

    dubbo-demo-consumer、dubbo-demo-provider、dubbo-simple-monitor

    本篇将详细讲解基于dubbo-demo-consumer、dubbo-demo-provider和dubbo-simple-monitor的实例服务,带你深入理解Dubbo的核心概念和操作流程。 首先,我们来看`dubbo-demo-consumer`,它是Dubbo服务的消费者。消费者...

    dubbo-admin包

    【标题】"dubbo-admin包"是Dubbo框架的一个重要组成部分,主要用作服务治理的管理界面。这个压缩包包含了运行Dubbo管理控制台所需的所有文件,使得开发者和运维人员可以方便地监控、管理和配置Dubbo服务。 【描述】...

    incubator-dubbo-ops-master.rar

    - **Dubbo-Admin**:这是一个基于Web的管理控制台,用户可以通过它来查看、管理以及操作Dubbo服务。它提供了服务注册、服务查询、服务调用监控、服务配置管理等功能,方便开发者进行日常运维工作。 - **Dubbo-...

    incubator-dubbo-dubbo-2.6.1

    【标题】"incubator-dubbo-dubbo-2.6.1" 是一个Apache Incubator项目Dubbo的特定版本,这里的2.6.1表示该版本是Dubbo的稳定分支之一。 【描述】提到的"incubator-dubbo-dubbo-2.6.1"表明这是Apache孵化器中的Dubbo...

    dobbo源码dubbo-dubbo-2.7.3.rar

    dobbo源码dubbo-dubbo-2.7.3.rardobbo源码dubbo-dubbo-2.7.3.rardobbo源码dubbo-dubbo-2.7.3.rardobbo源码dubbo-dubbo-2.7.3.rardobbo源码dubbo-dubbo-2.7.3.rardobbo源码dubbo-dubbo-2.7.3.rardobbo源码dubbo-dubbo...

    dubbo-admin-2.5.4.war后台管理

    其中,`dubbo-admin`是Dubbo的核心组件之一,它提供了一个可视化的管理控制台,帮助开发者对服务进行管理和监控。本文将详细解析`dubbo-admin-2.5.4.war`这个版本的后台管理工具,探讨其主要特性和使用方法。 首先...

    dubbo-monitor-simple-2.5.8-assembly.tar.gz

    其中,`dubbo-monitor-simple`是Dubbo官方提供的一个简单的监控实现,用于展示服务的调用统计信息。本文将详细介绍`dubbo-monitor-simple-2.5.8`版本的相关知识点。 一、Dubbo监控概述 Dubbo的监控体系主要包括...

    jmeter-plugins-dubbo-2.7.8-jar-with-dependencies.jar

    jmeter的dubbo插件,jmeter-plugins-dubbo-2.7.8-jar-with-dependencies.jar,适用于JMeter5.4.1版本,将解压后的文件jmeter-plugins-dubbo-2.7.8-jar-with-dependencies放在Jmeter安装目录下的\lib\ext文件夹中,...

    dubbo-admin-2.5.5.war

    dubbo-admin打包后的文件,扔到tomcat里就能跑起来!dubbo-admin打包后的文件,扔到tomcat里就能跑起来!dubbo-admin打包后的文件,扔到tomcat里就能跑起来!

    jmeter-plugins-dubbo-2.7.1-jar-with-dependencies

    本文将深入探讨“jmeter-plugins-dubbo-2.7.1-jar-with-dependencies”这一系统压测工具包,它专门针对基于Java的Dubbo服务进行性能测试。了解并熟练掌握这一工具,能帮助我们更好地优化服务性能,提升系统的稳定性...

    dubbo-admin包,dubbo-admin.war,基于github中dubbo源码打包,亲测可用。

    【标题】"dubbo-admin包"是Dubbo项目的一个重要组成部分,主要提供了管理控制台的功能。这个特定的版本,"dubbo-admin.war",是根据GitHub上的Dubbo源代码编译并打包而成的,确保了其与最新的开发成果同步,并且已经...

    dubbo-admin-2.6.0下载

    【标题】"dubbo-admin-2.6.0下载"涉及的是Dubbo管理控制台的2.6.0版本,这是一个用于监控和管理Dubbo服务的重要工具。Dubbo是阿里巴巴开源的一款高性能、轻量级的Java远程服务调用框架,它提供服务治理、监控等能力...

    dubbo-monitor-simple-2.6.1.tgz

    dubbo官方自带了dubbo-admin及dubbo-simple/dubbo-monitor-simple二个子项目用于服务治理及服务监控。 dubbo-monitor-simple是Alibaba的开源项目,用于监控在dubbo框架下接口暴露,注册情况,也可以看接口的调用...

    dubbo-admin dubbo-monitor.zip 2.8.4可用

    【标题】"dubbo-admin dubbo-monitor.zip 2.8.4可用" 指的是一个包含Dubbo管理工具和监控模块的压缩包文件,版本为2.8.4,适用于Dubbo框架的管理和监控需求。 【描述】"dubbo-admin.zip dubbo-monitor.zip; 包含 ...

Global site tag (gtag.js) - Google Analytics