欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Javaconfig形式配置Dubbo多注册中心

程序员文章站 2022-03-29 11:33:00
多注册中心,一般用不到,但是某些情况下的确能解决不少问题,可以将某些dubbo服务注册到2套dubbo系统中,实现服务在2套系统间的共用. 网上的配置说明很多,但包括dubbo官方说明文档都是以xml文件配置方式举例. 如想采用javaconfig的配置方式,则只需要对provider中的配置做适当 ......

多注册中心,一般用不到,但是某些情况下的确能解决不少问题,可以将某些dubbo服务注册到2套dubbo系统中,实现服务在2套系统间的共用.

网上的配置说明很多,但包括dubbo官方说明文档都是以xml文件配置方式举例.

如想采用javaconfig的配置方式,则只需要对provider中的配置做适当修改,如下所示:

    @Bean
    public RegistryConfig registryConfig() {
        RegistryConfig registryConfig = new RegistryConfig();
        registryConfig.setAddress(env.getProperty("dubbo.registry.address"));
        return registryConfig;
    }
    @Bean
    public RegistryConfig registryConfig2() {
        RegistryConfig registryConfig = new RegistryConfig();
        registryConfig.setAddress(env.getProperty("dubbo.registry.address"));
registryConfig.setDefault(false); //其它的都设置为非默认注册中心
return registryConfig; }

只需要将第二套注册中心设置为非默认地址.然后在注册服务的时候指定注册中心地址即可:

@Service(version = "1.0.0",registry = {"registryConfig","registryConfig2"})
public class ServiceImpl implements Service{

    .....

}

如果不在@Bean中指定beanName,则默认使用方法名称,否则使用指定的beanName进行注册.

通过以上配置后此服务便注册到2套注册中心中,此服务同时也被2套dubbo系统共用.