springboot中调用dubbo接口

工作中需要调用dubbo接口,网上资料很多,但胡乱不堪,特别总结一下

由于接口已经写好,所有我们的角色是消费者

一、依赖包配置

 <!--dubbo依赖-->
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>2.7.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.7.0</version>
        </dependency>
<!--依赖服务的jar包:这个需要生产端提供-->

二、生产者的地址

配置文件很简单,application.propterties

spring.profiles.active=dev
spring.main.allow-bean-definition-overriding=true

#消费端的name,协议和端口一般都是写死的
dubbo.application.name=bigscreen-wuwei
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880
#生产端的地址,这个需要从zk获取,zk算是注册中心
dubbo.registry.address=zookeeper://ip:port

三、service中的调用

@Service
public class ServiceImpl implements XXXService{
     //本地service一般要用@AutoWired,dubbo的要用@Reference,就这点差别
    @Reference
    private GisOuterService gisOuterService;
    
   }

四、多注册中心

考虑一种特殊的情况,需要对接多个数据注册中心

配置文件就要改一下application.properties

dubbo.registries.gis.address=zookeeper://ip1:2181
dubbo.registries.patrol.address=zookeeper://ip2:2182

在具体调用的时候就需要指定一下

   @Reference(registry = "gis")
    private GisOuterService gisOuterService;

 

上一篇:关于runtime


下一篇:addClass的用法和is函数的用法