`

使用JavaConfig方式配置dubbox

 
阅读更多

作者:马金凯

文档版权:Creative Commons 3.0许可证 署名-禁止演绎

为了迎合Spring的所有配置方式,增加了无XML配置实现,在此不对两种方式的优劣做比较,请根据项目的使用习惯做出合理选择。

1. 模块描述

实现Spring的JavaConfig配置方式,使用 Main.main(args) (需传参javaconfig设置使用JavaConfigContainer) 启动时可直接扫描dubbo.spring.javaconfig 包下的所有的Spring配置类

2. 使用示例

使用示例在dubbo-demo/dubbo-demo-consumer模块中,相关配置方式参考 注解配置

2.1 代码解释

  • dubbo-demo-consumer/../DubboDemoConsumerConfig 等同于 dubbo-demo-consumer/../dubbo-demo-consumer.xml
  • dubbo-demo-consumer/../DubboDemoActionConfig 等同于 dubbo-demo-consumer/../dubbo-demo-action.xml
  • dubbo-demo-consumer/../DemoJavaConfigAction 等同于 dubbo-demo-consumer/../DemoAction
  • dubbo-demo-consumer/../DemoJavaConfigConsumer 以JavaConfig方式启动示例程序

2.2 示例演示

  1. 运行dubbo-demo-provider/../DemoProvider
  2. 运行dubbo-demo-consumer/../DemoJavaConfigConsumer
  3. 查看console输出

3. 无XML配置

将XML配置方式转换为JavaConfig配置,demo中未涉及到的配置类,请参照 API配置 实现

@Configuration
public class DubboDemoConsumerConfig {

    public static final String APPLICATION_NAME = "consumer-of-helloworld-app";

    public static final String REGISTRY_ADDRESS = "zookeeper://127.0.0.1:2181";

    public static final String ANNOTATION_PACKAGE = "com.alibaba.dubbo.demo.consumer";

    @Bean
    public ApplicationConfig applicationConfig() {
        ApplicationConfig applicationConfig = new ApplicationConfig();
        applicationConfig.setName(APPLICATION_NAME);
        return applicationConfig;
    }

    @Bean
    public RegistryConfig registryConfig() {
        RegistryConfig registryConfig = new RegistryConfig();
        registryConfig.setAddress(REGISTRY_ADDRESS);
        return registryConfig;
    }

    @Bean
    public AnnotationBean annotationBean() {
        AnnotationBean annotationBean = new AnnotationBean();
        annotationBean.setPackage(ANNOTATION_PACKAGE);
        return annotationBean;
    }
}
分享到:
评论

相关推荐

    Dubbox源码及资源

    9. **API与配置(API & Config)**:Dubbox提供了简洁的API供开发者使用,同时也支持基于XML的配置方式,让服务的声明和调用变得简单直观。 除了以上核心功能,Dubbox源码的阅读可以帮助开发者深入理解其内部实现,...

    dubbox介绍

    Dubbox支持完全基于Java代码的配置方式,利用Spring的JavaConfig特性实现了无XML的纯Java配置模式。 #### 三、结论 Dubbox作为Dubbo的扩展版本,不仅保持了Dubbo原有的优势,还在多个方面进行了改进和增强,尤其是...

    dubbox2.84

    【Dubbox2.8.4】是阿里巴巴开源的一款基于Java的RPC框架,它在Apache Dubbo的基础上进行了一些改进和增强,旨在提供更加高效、稳定的服务治理能力。这个压缩包包含了Dubbox的jar包以及关于如何安装和使用Dubbox源码...

    dubbox 2.8.4

    9. **dubbo-config-spring-2.8.4.jar**:Spring集成模块,方便用户在Spring环境中使用Dubbox,通过XML或注解方式实现服务的声明式配置。 10. **dubbo-remoting-p2p-2.8.4.jar**:点对点通信模块,提供了直接的节点...

    dubbox2.8.4(需要自己解压一下)

    10. **配置管理(Config Center)**:Dubbox 可以集成外部配置中心,如 ZooKeeper 或 Apollo,实现动态配置,方便服务的快速更新和管理。 在实际使用 Dubbox2.8.4 时,开发者需要将该版本的 jar 包放入本地 Maven ...

    dubbox生产者和消费者示例代码(含依赖包).zip

    5. **配置(Config)**:Dubbox 提供了灵活的配置方式,可以通过 XML、Java API 或者 Spring 配置来设置服务的元数据。 6. **监控(Monitor)**:对服务的调用情况进行统计和监控,包括调用次数、成功率、耗时等。 ...

    dubbox 源码

    本文将对 dubbo 和 dubbox 的核心源码进行深度解析,帮助开发者更好地理解和使用这一高性能、轻量级的 Java RPC 框架。 1. **Dubbo 概述** Dubbo 是阿里巴巴开源的一款分布式服务框架,其核心功能包括服务注册与...

    基于spring-boot dubbox搭建的java分布式系统的前端管理.zip

    2,使编码变得简单,SpringBoot采用 JavaConfig的方式对Spring进行配置,并且提供了大量的注解,极大的提高了工作效率,比如@Configuration和@bean注解结合,基于@Configuration完成类扫描,基于@bean注解把返回值...

    dubbox-demo:一个简单的dubbox学习演示

    7. **配置中心(Config Center)**:除了注册中心,Dubbox 还支持配置中心,动态修改服务配置,使得服务提供者和服务消费者可以实时感知变化。 【项目结构解析】 在 "dubbox-demo-master" 压缩包中,我们可以看到...

    spring_springmvc_mybatis_shiro

    MyBatis允许开发者编写动态SQL,通过XML或注解的方式配置和映射原生信息,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。在这个项目中,MyBatis作为数据访问层,处理与数据库...

    Spring boot 集成Dubbox的方法示例

    它通过默认配置和自动配置特性,使得开发者能够快速地创建独立运行的、生产级别的Java应用程序。 集成Dubbox到Spring Boot的步骤如下: 1. **安装Zookeeper**:Zookeeper是Dubbo服务注册与发现的基础,它是一个...

    maven+spring mvc+hibernate+dubbo+mysql的demo源码

    6. **配置文件`config.properties`**: 这个文件通常包含了应用运行所需的配置信息,如数据库连接参数(URL、用户名、密码)、服务地址等。在启动项目之前,你需要根据实际环境修改这些参数,以确保应用能够正确...

    dubbo-master.zip包,解压可用

    - Gradle:另一种构建工具,可以与Maven互换使用,提供更灵活的构建配置。 4. **文档**: - `docs`目录下包含了项目的用户手册、开发者指南以及API文档,是了解和使用Dubbo的重要资源。 5. **测试**: - `tests...

    Dubbo面试题(2020最新版).pdf

    * 配置层(Config):对外配置接口,以ServiceConfig和ReferenceConfig为中心 * 服务代理层(Proxy):服务接口透明代理 Dubbo Monitor实现原理: * Dubbo Monitor是基于Invoker的监控机制 * Invoker是Dubbo的...

    dubbo项目实现

    项目配置文件是任何Java项目的基础,对于Dubbo来说,这通常包括`application.xml`、`dubbo-config.xml`、`registry.conf`等,这些文件定义了服务的元数据、服务提供者和消费者之间的连接信息以及注册中心的配置。...

    微服务架构技术栈选型指南.docx

    - Spring Cloud Config或Consul提供集中式配置管理,便于动态调整服务配置。 在选择技术栈时,应考虑以下准则: - 生产级:技术必须成熟稳定,具备良好的可运维性和可治理性。 - 社区活跃度:优先选择一线互联网...

    dubbo源码分析系列1

    Dubbo内建了JavaConfig、Jetty、Log4j、Logback和Spring等容器的实现。 - **dubbo-config-api**:配置模块,依赖于其他模块,负责整合Dubbo组件并提供给开发者配置。它使得用户可以通过配置文件或API来装配和管理...

    计算机网络总集.pdf

    3. **Config层**:配置层,提供服务的配置接口。 4. **Proxy层**:代理层,为服务提供动态代理实现。 5. **Registry层**:注册层,负责服务的注册和发现。 6. **Cluster层**:集群层,处理服务的集群策略,如负载...

    企业微服务技术最佳实践.pdf

    12. **统一配置中心**:如Spring Cloud Config,用于集中管理所有服务的配置,便于更新和管理。 13. **应用性能管理**:QL-APM(基于Sky-Walking)提供服务跟踪和性能分析,帮助优化系统性能。 14. **平台支撑能力...

    微服务架构引入的问题及解决方案.docx

    - **Spring Cloud Config**:集中化配置管理。 - **Dubbo/GRPC**:RPC框架。 4. **总结** 本节介绍了微服务架构中常见的通信模式、通信协议的选择、RPC框架的选取标准及其流行框架,并讨论了服务发现的两种模式...

Global site tag (gtag.js) - Google Analytics