Javaconfig形式配置Dubbo多注册中心

多注册中心,一般用不到,但是某些情况下的确能解决不少问题,可以将某些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系统共用.

 

posted on 2018-01-25 23:45  蓝萝卜blu  阅读(2925)  评论(0编辑  收藏  举报

导航