标签:dubbo 关系 alibaba int main add animal 需要 一个
【为什么要服务分组?】
当一个接口有多种实现时,可以用group区分。
【 Provider 的配置信息】
<?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-4.3.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> <!-- 提供方应用信息,用于计算依赖关系 --> <dubbo:application name="hello-world-app" /> <!-- 使用zookeeper注册中心暴露服务地址 --> <dubbo:registry protocol="zookeeper" address="127.0.0.1:2181" /> <!-- 用dubbo协议在20880端口暴露服务 --> <dubbo:protocol name="dubbo" port="20880" /> <!-- 声明需要暴露的服务接口 --> <dubbo:service interface="com.higgin.dubbo.service.AnimalService" ref="catService" group="catGroup" /> <dubbo:service interface="com.higgin.dubbo.service.AnimalService" ref="dogService" group="dogGroup" /> <!-- 和本地bean一样实现服务 --> <bean id="catService" class="com.higgin.dubbo.service.impl.CatServiceImpl"/> <bean id="dogService" class="com.higgin.dubbo.service.impl.DogServiceImpl"/> </beans>
【Provider 启动服务】
public static void main(String[] args) throws Exception{ ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml"); context.start(); System.in.read(); }
【 Consumer 配置信息】
<?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.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> <dubbo:application name="dubbo-client" /> <dubbo:registry protocol="zookeeper" address="127.0.0.1:2181" /> <dubbo:reference interface="com.higgin.dubbo.service.AnimalService" id="catService" group="catGroup"/> <dubbo:reference interface="com.higgin.dubbo.service.AnimalService" id="dogService" group="dogGroup"/> </beans>
【Consumer 消费服务】
public static void main(String[] args) throws Exception{ ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml"); AnimalService catService = context.getBean("catService",AnimalService.class); System.out.println(catService.sayHello()); AnimalService dogService = context.getBean("dogService",AnimalService.class); System.out.println(dogService.sayHello()); }
【注意】
Consumer只能消费与自己服务分组相同的Provider的服务
标签:dubbo 关系 alibaba int main add animal 需要 一个
原文地址:https://www.cnblogs.com/HigginCui/p/9973827.html