小荷才露尖尖角,早有蜻蜓立上头。

What’s Your Problems

Dubbo配置

9090 默认端口注册问题

版本:2.6.12

原因:xml 与 application 配置重复,导致重复解析生成配置类对象 RegistryConfig

Dubbo 配置类:使用 xml 方式配置时,@ImportResource(classpath*:dubbo-xxx.xml”)进行 xml 导入后

@EnableDubbo 会开启属性绑定及注解扫描,导致容器内存在额外的 RegistryConfig 对象 (来自 application.yml / application.properties 绑定的属性 dubbo.registry.*),并且属性为空,以默认值方式进行填充

解决:

  • 不使用 @EnableDubbo 以及属性绑定,不影响 -DVM 参数。
@Configuration
@DubboComponentScan("com.badou")
@ImportResource({"classpath*:dubbo-gateway.xml"})
public class DubboConfiguration {

}
<?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://code.alibabatech.com/schema/dubbo"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
        http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

    <dubbo:registry address="${dubbo.registry.zookeeper}" check="false"/>
</beans>
dubbo:
  registry:
    zookeeper: @dubbo.registry.zookeeper@
  • 不使用 application 配置
@Configuration
@EnableDubbo(scanBasePackages = "com.badou")
@ImportResource({"classpath*:dubbo-gateway.xml"})
public class DubboConfiguration {

}
<?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://code.alibabatech.com/schema/dubbo"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
        http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

    <dubbo:registry address="@dubbo.registry.zookeeper@" check="false"/>
</beans>
  • 升级 Dubbo 版本,使用 stater 依赖

可调试:

com.alibaba.dubbo.config.AbstractInterfaceConfig#checkRegistry

com.alibaba.dubbo.config.spring.context.annotation.DubboConfigBindingRegistrar#registerDubboConfigBeans

版权声明:如无特别声明,本站收集的文章归  HuaJi66  所有。 如有侵权,请联系删除。

联系邮箱: GenshinTimeStamp@outlook.com

本文标题:《 Dubbo Zero 》

本文链接:/%E5%BE%AE%E6%9C%8D%E5%8A%A1/dubbo/%E9%94%A6%E5%9B%8A/dubbo-zero.html