Dubbo2.6之消费者如何从注册中心上获取提供者的服务

目录

前情提要

开整

1.创建工程

2.导入依赖

3.编写配置文件

4.新建测试类

5.测试


前情提要

这篇我们将消费者如何获取提供者的服务,紧接上篇

https://blog.csdn.net/Delicious_Life/article/details/104612461 

开整

 1.创建工程

我们新建消费者工程,工程结构如下

2.导入依赖

需要说明的是,因为项目比较小,所以并没有把提供者的业务和接口分成两个项目。我们在pom依赖中引入提供者的工程是为了调用接口,而不是直接调用实现方法

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>itcast-dubbo</artifactId>
        <groupId>cn.itcast.dubbo</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <groupId>cn.itcast.dubbo</groupId>
    <artifactId>itcast-dubbo-consumer</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <!--添加springboot依赖,非web项目-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.13</version>
        </dependency>
        <dependency>
            <groupId>com.github.sgroschupf</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.1</version>
        </dependency>
        <!--引入service的依赖-->
        <dependency>
            <groupId>cn.itcast.dubbo</groupId>
            <artifactId>itcast-dubbo-service</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>
</project>

3.编写配置文件

# Spring boot application
spring.application.name = itcast-dubbo-consumer
server.port = 9091
# 应用名称
dubbo.application.name = dubbo-consumer-demo
# zk注册中心
dubbo.registry.address = zookeeper://192.168.62.132:2181
dubbo.registry.client = zkclient

4.新建测试类

package cn.itcast.dubbo;

import cn.itcast.dubbo.pojo.User;
import cn.itcast.dubbo.service.UserService;
import com.alibaba.dubbo.config.annotation.Reference;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.List;

@RunWith(SpringRunner.class)
@SpringBootTest
public class UserServiceTest {
    @Reference(version = "1.0.0")
    private UserService userService;

    @Test
    public void testQueryAll(){
        List<User> users = this.userService.queryAll();
        for (User user : users) {
            System.out.println(user);
        }
    }
}

5.测试

注册中心zk启动的情况下我们执行测试方法,下图即表示我们调用了生产者的服务。

提示:这里引用的springboot不是web项目,实战中需要稍作修改。consumer作为服务者的同时也可以作为提供者,需要consumer服务的项目根据同样的原理引入comsumer的依赖即可

发布了411 篇原创文章 · 获赞 166 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/Delicious_Life/article/details/104616455