Dubbo学习(三)——服务分组

    服务分组与多版本控制的使用方式几乎是相同的,只要将 version 替换为 group 即可。 但使用目的不同。使用版本控制的目的是为了升级,将原有老版本替换掉,将来不再提供老 版本的服务,所以不同版本间不能出现相互调用。而分组的目的则不同,其也是针对相同接 口,给出了多种实现类。但不同的是,这些不同实现并没有谁替换掉谁的意思,是针对不同 需求,或针对不同功能模块所给出的不同实现。这些实现所提供的服务是并存的,所以它们 间可以出现相互调用关系。例如,对于支付服务的实现,可以有微信支付实现与支付宝支付 实现等。 
1、创建提供者

(1)定义两个接口实现类

public class WeixinServiceImpl implements SomeService {
    @Override
    public String hello(String name) {
        System.out.println("使用【微信】付款");
        return "WeixinServiceImpl";
    }
}
public class ZhifubaoServiceImpl implements SomeService {
    @Override
    public String hello(String name) {
        System.out.println("使用【支付宝】付款");
        return "ZhifubaoServiceImpl";
    }
}

(2)修改配置文件

2、创建消费者

(1)修改配置文件

(2)修改消费者类

public static void main(String[] args) {
        ApplicationContext ac = new ClassPathXmlApplicationContext("spring-consumer.xml");

        // 使用微信支付
        SomeService weixinService = (SomeService) ac.getBean("weixin");
        String weixin = weixinService.hello("China");
        System.out.println(weixin);

        // 使用支付宝支付
        SomeService zhifubaoService = (SomeService) ac.getBean("zhifubao");
        String zhifubao = zhifubaoService.hello("China");
        System.out.println(zhifubao);
    }

3、运行结果

客户端代码会根据定义的dubbo的id找到对应分组的实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值