`

dubbo-SpringContainer

 
阅读更多

dubbo依赖于spring,因为SpringContainer用spring的ClassPathXmlApplicationContext对象实现,用来启动一个bean容器。

那么,dubbo的启动流程这样的:spring启动过程中,随着Spring在初始化过程中,碰到dubbo命名的标签,如(<dubbo:service>,<dubbo:registry>)等标签,会由DubboNamespaceHandler类处理,具体原理见链接Spring自定义标签(既自己定义一个xml的schema格式文件)。

DubboBeanDefinitionParser代码如下(链接:https://www.jianshu.com/p/7f3871492c71):

public class DubboNamespaceHandler extends NamespaceHandlerSupport {

    static {
        Version.checkDuplicate(DubboNamespaceHandler.class);
    }

    public void init() {
        registerBeanDefinitionParser("application", new DubboBeanDefinitionParser(ApplicationConfig.class, true));
        registerBeanDefinitionParser("module", new DubboBeanDefinitionParser(ModuleConfig.class, true));
        registerBeanDefinitionParser("registry", new DubboBeanDefinitionParser(RegistryConfig.class, true));
        registerBeanDefinitionParser("monitor", new DubboBeanDefinitionParser(MonitorConfig.class, true));
        registerBeanDefinitionParser("provider", new DubboBeanDefinitionParser(ProviderConfig.class, true));
        registerBeanDefinitionParser("consumer", new DubboBeanDefinitionParser(ConsumerConfig.class, true));
        registerBeanDefinitionParser("protocol", new DubboBeanDefinitionParser(ProtocolConfig.class, true));
        registerBeanDefinitionParser("service", new DubboBeanDefinitionParser(ServiceBean.class, true));
        registerBeanDefinitionParser("reference", new DubboBeanDefinitionParser(ReferenceBean.class, false));
        registerBeanDefinitionParser("annotation", new AnnotationBeanDefinitionParser());
    }
}

 

 

分享到:
评论

相关推荐

    alibaba-dubbo-dubbo-2.5.7-0-ge2d63ad.tar.gz

    7. **dubbo-container**:容器模块,Dubbo可以运行在Spring、Jetty等容器中,提供一站式的应用服务化解决方案。 8. **dubbo-filter**:过滤器机制,允许用户自定义业务逻辑和策略,如日志记录、性能统计、权限控制...

    Dubbo 2.5.3 jar包

    [INFO] dubbo-container-spring ............................ SUCCESS [1.378s] [INFO] dubbo-container-jetty ............................. SUCCESS [1.448s] [INFO] dubbo-container-log4j ......................

    dubbo-master.zip

    6. `dubbo-container`:Dubbo支持的容器,如Spring Container,用于启动和管理Dubbo服务。 7. `dubbo-spi`:Dubbo的扩展机制,基于Java SPI(Service Provider Interface)实现,允许用户自定义实现Dubbo的组件。 ...

    dubbo-master

    5. **容器(Container)**:运行服务提供者和消费者的地方,如 Spring 容器。 **主要功能:** 1. **服务治理:**包括服务注册、服务发现、服务元数据管理、服务健康检查等。 2. **高性能:**基于 Netty 框架实现,...

    alibaba_dubbox_2.8.4.zip[jar、pom]

    dubbo-container-spring dubbo-demo dubbo-demo-api dubbo-demo-consumer dubbo-demo-provider dubbo-filter dubbo-filter-cache dubbo-filter-validation dubbo-monitor dubbo-monitor-api dubbo-monitor-default ...

    dubbo-container-spring-2.8.4.jar

    java运行依赖jar包

    dubbo-container-spring-2.8.4-sources.jar

    java运行依赖jar包

    dubbo-3.1.4源码包

    8. `dubbo-container`:提供了Spring、Jetty等容器的集成,方便部署和运行dubbo应用。 通过研究这些源码,开发者可以了解到dubbo是如何实现服务治理的,以及如何在实际项目中灵活应用。同时,对于想要深入学习...

    dubbo-zk-conf-kafka项目配置

    5. **容器(Container)**:运行服务提供者和服务消费者的容器,如Spring,可以让`Dubbo` 服务与Spring无缝集成。 `Zookeeper` 在`Dubbo` 中的角色: 1. **服务注册**:服务提供者启动时,会将自己的服务地址等...

    springboot整合Dubbo框架,实现RPC服务远程调用

    &lt;artifactId&gt;dubbo-spring-boot-starter &lt;version&gt;0.2.0 2、项目结构说明 输入图片说明 结构说明 dubbo-consume:服务消费方 dubbo-provider:服务提供方 dubbo-common:公共代码块,Dubbo接口,实体类 3、核心...

    spring-boot-dubbo:spring boot duboo整合

    的main方法来启动provider,需要在dubbo.properties文件中配置如下信息#dubbo启动容器(不设置默认spring一个)dubbo.container = spring,logback#dubbo spring配置(通过Main.main方法启动需要通过此参数配置spring...

    dubbo-2.8.4.rar

    5. **容器(Container)**:运行服务提供者和消费者,如Spring容器,可以将服务自动加载到容器中。 6. **监控中心(Monitor)**:记录服务的调用统计信息,提供服务性能监控。 **Dubbo的关键特性:** 1. **高性能...

    dubbo开发jar包

    9. **dubbo-container**: 容器组件,如Spring Container,可以将Dubbo服务以Spring Bean的方式管理和运行。 在实际开发中,开发者通常会根据需求选择相应的依赖,例如,如果你只需要基础的RPC功能,那么可能只需要`...

    Dubbo 项目结构解析1

    8. **dubbo-container**:容器模块,主要是为了支持Spring容器,让Dubbo服务可以在Spring容器中运行。 9. **dubbo-filter**:过滤器模块,允许用户自定义服务调用过程中的拦截器,实现业务逻辑的增强或扩展。 10. ...

    Dubbo入门---搭建一个最简单的Demo框架

    - **Container**:服务容器,用于启动和管理服务提供者和消费者,如Spring Container。 7. **扩展与优化**: - 可以通过配置动态调整服务的超时时间、重试次数等参数。 - 学习如何使用Spring Boot简化Dubbo的...

    Dubbo源码以及所需jar文件

    **容器(Container)**:运行服务提供者和消费者的应用容器,Dubbo支持Spring Container,可以无缝集成Spring框架。 在Dubbo的运行过程中,`zookeeper`作为常见的注册中心,用于存储服务提供者的元数据信息,服务...

    dubbo-zookeeper

    - **Container(容器)**:运行服务实例的容器。 - **Monitor(监控)**:监控服务的状态,例如调用次数等。 ##### 2.1 创建聚合项目(父项目) - 在Maven环境中创建一个聚合项目,用于管理子项目的依赖关系。...

    Dubbo服务框架 v2.7.22.zip

    - **dubbo-container**: 提供Spring容器的支持,便于集成到Spring应用中。 通过阅读这些源码,开发者可以深入理解Dubbo的工作原理,从而更好地利用它来构建分布式系统。此外,这对于计算机科学与技术、软件工程等...

    dubbo源码分析系列1

    - **dubbo-container-api**:服务运行容器API,定义了启动容器的Main类和Container接口,包含启动和停止方法。Dubbo内建了JavaConfig、Jetty、Log4j、Logback和Spring等容器的实现。 - **dubbo-config-api**:配置...

    Dubbo监控中心的介绍与简易监控中心的安装.docx

    dubbo.container=log4j,spring,registry,jetty dubbo.application.name=simple-monitor dubbo.application.owner= dubbo.registry.address=zookeeper://192.168.3.71:2181 dubbo.protocol.port=7070 dubbo.jetty....

Global site tag (gtag.js) - Google Analytics