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()); } }
相关推荐
7. **dubbo-container**:容器模块,Dubbo可以运行在Spring、Jetty等容器中,提供一站式的应用服务化解决方案。 8. **dubbo-filter**:过滤器机制,允许用户自定义业务逻辑和策略,如日志记录、性能统计、权限控制...
[INFO] dubbo-container-spring ............................ SUCCESS [1.378s] [INFO] dubbo-container-jetty ............................. SUCCESS [1.448s] [INFO] dubbo-container-log4j ......................
6. `dubbo-container`:Dubbo支持的容器,如Spring Container,用于启动和管理Dubbo服务。 7. `dubbo-spi`:Dubbo的扩展机制,基于Java SPI(Service Provider Interface)实现,允许用户自定义实现Dubbo的组件。 ...
5. **容器(Container)**:运行服务提供者和消费者的地方,如 Spring 容器。 **主要功能:** 1. **服务治理:**包括服务注册、服务发现、服务元数据管理、服务健康检查等。 2. **高性能:**基于 Netty 框架实现,...
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 ...
java运行依赖jar包
java运行依赖jar包
8. `dubbo-container`:提供了Spring、Jetty等容器的集成,方便部署和运行dubbo应用。 通过研究这些源码,开发者可以了解到dubbo是如何实现服务治理的,以及如何在实际项目中灵活应用。同时,对于想要深入学习...
5. **容器(Container)**:运行服务提供者和服务消费者的容器,如Spring,可以让`Dubbo` 服务与Spring无缝集成。 `Zookeeper` 在`Dubbo` 中的角色: 1. **服务注册**:服务提供者启动时,会将自己的服务地址等...
<artifactId>dubbo-spring-boot-starter <version>0.2.0 2、项目结构说明 输入图片说明 结构说明 dubbo-consume:服务消费方 dubbo-provider:服务提供方 dubbo-common:公共代码块,Dubbo接口,实体类 3、核心...
的main方法来启动provider,需要在dubbo.properties文件中配置如下信息#dubbo启动容器(不设置默认spring一个)dubbo.container = spring,logback#dubbo spring配置(通过Main.main方法启动需要通过此参数配置spring...
5. **容器(Container)**:运行服务提供者和消费者,如Spring容器,可以将服务自动加载到容器中。 6. **监控中心(Monitor)**:记录服务的调用统计信息,提供服务性能监控。 **Dubbo的关键特性:** 1. **高性能...
9. **dubbo-container**: 容器组件,如Spring Container,可以将Dubbo服务以Spring Bean的方式管理和运行。 在实际开发中,开发者通常会根据需求选择相应的依赖,例如,如果你只需要基础的RPC功能,那么可能只需要`...
8. **dubbo-container**:容器模块,主要是为了支持Spring容器,让Dubbo服务可以在Spring容器中运行。 9. **dubbo-filter**:过滤器模块,允许用户自定义服务调用过程中的拦截器,实现业务逻辑的增强或扩展。 10. ...
- **Container**:服务容器,用于启动和管理服务提供者和消费者,如Spring Container。 7. **扩展与优化**: - 可以通过配置动态调整服务的超时时间、重试次数等参数。 - 学习如何使用Spring Boot简化Dubbo的...
**容器(Container)**:运行服务提供者和消费者的应用容器,Dubbo支持Spring Container,可以无缝集成Spring框架。 在Dubbo的运行过程中,`zookeeper`作为常见的注册中心,用于存储服务提供者的元数据信息,服务...
- **Container(容器)**:运行服务实例的容器。 - **Monitor(监控)**:监控服务的状态,例如调用次数等。 ##### 2.1 创建聚合项目(父项目) - 在Maven环境中创建一个聚合项目,用于管理子项目的依赖关系。...
- **dubbo-container**: 提供Spring容器的支持,便于集成到Spring应用中。 通过阅读这些源码,开发者可以深入理解Dubbo的工作原理,从而更好地利用它来构建分布式系统。此外,这对于计算机科学与技术、软件工程等...
- **dubbo-container-api**:服务运行容器API,定义了启动容器的Main类和Container接口,包含启动和停止方法。Dubbo内建了JavaConfig、Jetty、Log4j、Logback和Spring等容器的实现。 - **dubbo-config-api**:配置...
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....