DUBBO-配置xml文件介绍(3)

本文深入探讨DUBBO配置,包括XML文件形式,如provider.xml中的配置标签关系及优先级;properties配置文件的使用,如dubbo.properties的映射规则和优先级;以及API配置和注解配置的应用场景。此外,还解析了配置加载过程的四大来源及其优先级。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DUBBO-配置xml文件介绍

hello world demo中有很多配置。这里介绍一下官网对dubbo配置的介绍。

一、Hello world中的配置文件

​ 官网介绍都覆盖了,不多说。

二、官网对配置文件介绍(翻译官网文档)

dubbo configuration

1. xml配置文件形式
  1. provider.xml demo

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd">  
        <dubbo:application name="hello-world-app"  />  
        <dubbo:registry address="multicast://224.5.6.7:1234" />  
        <dubbo:protocol name="dubbo" port="20880" />  
        <dubbo:service interface="org.apache.dubbo.demo.DemoService" ref="demoServiceLocal" />  
        <dubbo:reference id="demoServiceRemote" interface="org.apache.dubbo.demo.DemoService" />  
    </beans>
    
    tagpurposeintrodution
    dubbo:service/暴露服务暴露服务,定义服务信息,可以通过多种协议暴露协议,也可以将服务注册到多个注册中心
    dubbo:reference/引用服务订阅多个注册中心,创建一个远程代理
    dubbo:protocol/配置协议定义服务端协议,消费端遵守协议
    dubbo:aplication/应用配置应用于服务端和消费端
    dubbo:module/模块配置可选
    dubbo:registry/注册中心注册信息:地址,协议等
    dubbo:monitor/监控中心可选
    dubbo:provider/服务端默认配置可选
    dubbo:consumer/消费端默认配置可选
    dubbo:method/方法级别配置为服务配置和消费配置提供方法级别配置
    dubbo:argument/参数配置个性配置方法参数配置
  2. 配置标签的关系

    在这里插入图片描述

  3. 配置优先级

    1. 从高到底:方法级别 > 接口级别 > 默认/全局级别
    2. 同级别,服务端的优先级高于消费端

    举例来说明一下,超时时间设置的优先级

    在这里插入图片描述

2. properties配置文件形式
  1. 如果你的dubbo很简单,没有多注册中心,也没有多协议,而且你希望spring容器之间共享该配置文件,你可以使用dubbo.properties来默认配置文件。Dubbo将从根CLASSPATH下加载dubbo.properties。你也可以在JVM参数中指明路径,Ddubbo.properties.file=XXX.properties。

  2. 映射规则

    1. dubbo.application.name=test equals <dubbo:application name=“test” />
    2. dubbo.protocol.rmo.port=1099 equals <dubbo:protocol name=“rmi” port=“1099” />
  3. 典型dubbo.properties demo

    dubbo.application.name=foo
    dubbo.application.owner=bar
    dubbo.registry.address=10.20.153.10:9090
    
  4. 优先级

    1. 从高到低如下

      在这里插入图片描述

    2. JVM -D 参数 > xml配置文件 > properties > 默认配置

3. API Configuration
  1. 所有API属性都能对应到XML中,例如ApplicationConfig.setName(“xxx”) equals to <dubbo:application name=“xxx” />
  2. 什么时候使用api配置呢,当和OpenAPI、ESB、Test、Mock等整合时候推荐(不理解),大部分情况下推荐使用xml配置。
  3. 具体可以到官网参考,这里代码就不写了。
4. Annotation Configuration
  1. 需要dubbo版本为2.6.3以上,完整例子
5. Configuration Loading Process
  1. dubbo框架在应用启动时如何收集必须的配置参数呢?

    ​ 四大配置源(优先级逐降)

    ​ jvm -Dproperty

    ​ 外部配置(dubbo 2.5.8以后)

    ​ 和springboot注解@PropertySource(“META-INF/config.properties”)、@EnableDubboConfig有关

    ​ 详细参考,Dubbo外部化配置

    ​ ServiceConfig、ReferenceConfig和其它接口收集的配置

    ​ 本地配置文件dubbo.properties

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值