zoukankan      html  css  js  c++  java
  • SpringBoot整合dubbo2.7.12

    参考:

    https://blog.csdn.net/ycf921244819/article/details/103474394

    提供者代码:

    dubbo-test-provider有两个子模块, dubbo-dubbo-test-api模块提供接口, dubbo-test-provider1模块实现接口。

     父pom.xml:

    <?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <packaging>pom</packaging>
    <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.4.8</version>
    <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.huidong</groupId>
    <artifactId>dubbo-test-provider</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>dubbo-test-provider</name>
    <description>Demo project for Spring Boot</description>

    <modules>
    <module>dubbo-dubbo-test-api</module>
    <module>dubbo-test-provider1</module>
    </modules>

    <properties>
    <java.version>1.8</java.version>
    </properties>

    <dependencies>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
    </dependency>
    </dependencies>
    </project>

    dubbo-dubbo-test-api模块:

     IShowName接口:

    package com.huidong.provider;

    public interface IShowName {
    String showName();

    String showCal() throws InterruptedException;
    }

    dubbo-test-provider1模块:

    dubbo-test-provider1模块 pom.xml:
    <?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>
    <groupId>com.huidong</groupId>
    <artifactId>dubbo-test-provider</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.huidong</groupId>
    <artifactId>dubbo-test-provider1</artifactId>

    <properties>
    <java.version>1.8</java.version>
    </properties>
    <dependencies>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
    </dependency>

    <dependency>
    <groupId>com.huidong</groupId>
    <artifactId>dubbo-dubbo-test-api</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    </dependency>


    <!--zookeeper 注册中心客户端引入-->
    <dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-dependencies-zookeeper</artifactId>
    <version>2.7.12</version>
    <type>pom</type>
    <exclusions>
    <exclusion>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    </exclusion>
    </exclusions>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.apache.dubbo/dubbo-spring-boot-starter -->
    <dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>2.7.12</version>
    </dependency>
    </dependencies>

    <build>
    <plugins>
    <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
    </plugins>
    </build>
    </project>

    application.properties:

    # Spring boot application
    spring.application.name=dubbo-provider-demo
    # Base packages to scan Dubbo Component: @org.apache.dubbo.config.annotation.Service
    dubbo.scan.base-packages=com.huidong.provider.impl

    # Dubbo Application
    ## The default value of dubbo.application.name is ${spring.application.name}
    dubbo.application.name=${spring.application.name}

    # Dubbo Protocol
    dubbo.protocol.name=dubbo
    dubbo.protocol.port=20880

    ## Dubbo Registry
    dubbo.registry.address=zookeeper://127.0.0.1:2181

    server.port=7010


    ShowNameImpl为IShowName接口的实现,实现类需要加 @DubboService注解



    消费者:

     pom.xml:

    <?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.4.8</version>
    <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.huidong</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>dubbo-test-consumer1</name>
    <description>Demo project for Spring Boot</description>
    <properties>
    <java.version>1.8</java.version>
    </properties>
    <dependencies>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
    </dependency>

    <!--zookeeper 注册中心客户端引入-->
    <dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-dependencies-zookeeper</artifactId>
    <version>2.7.12</version>
    <type>pom</type>
    <exclusions>
    <exclusion>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    </exclusion>
    </exclusions>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.apache.dubbo/dubbo-spring-boot-starter -->
    <dependency>
    <groupId>org.apache.dubbo</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>2.7.12</version>
    </dependency>

    <dependency>
    <groupId>com.huidong</groupId>
    <artifactId>dubbo-dubbo-test-api</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    </dependency>
    </dependencies>

    <build>
    <plugins>
    <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
    </plugins>
    </build>

    </project>


    application.yml:
    spring:
    application:
    name: dubbo-consumer-demo
    server:
    servlet:
    context-path: /
    port: 8081
    dubbo:
    registry:
    address: zookeeper://127.0.0.1:2181

    验证:

    启动本地的zk,先启动生产者,再启动消费者,url访问消费者接口

  • 相关阅读:
    【Codechef】Chef and Bike(二维多项式插值)
    USACO 完结的一些感想
    USACO 6.5 Checker Challenge
    USACO 6.5 The Clocks
    USACO 6.5 Betsy's Tour (插头dp)
    USACO 6.5 Closed Fences
    USACO 6.4 Electric Fences
    USACO 6.5 All Latin Squares
    USACO 6.4 The Primes
    USACO 6.4 Wisconsin Squares
  • 原文地址:https://www.cnblogs.com/maohuidong/p/14964629.html
Copyright © 2011-2022 走看看