• springboot集成dubbo生产者&消费者方法


    1. pom.xml添加maven依赖

            <!--spring-boot-starter-dubbo-->
            <dependency>
                <groupId>com.gitee.reger</groupId>
                <artifactId>spring-boot-starter-dubbo</artifactId>
                <version>1.1.1</version>
            </dependency>
            <!-- 引入zookeeper,去除其中的log4j,否则会因为日志原因导致堆栈溢出 -->
            <dependency>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper</artifactId>
                <version>3.4.10</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <!--Dubbo的API-->
            <dependency>
                <groupId>com.test</groupId>
                <artifactId>test-api</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>

    2. application.yml增加dubbo配置信息

    spring:
      dubbo:
        application:
          name: demo-consumer
        base-package: com.test.api # dubbo服务发布者所在的包
        registry:
          address: 127.0.0.1 # zookeeper注册中心的地址
          port: 2181   # zookeeper注册中心的端口
          protocol: zookeeper
          register: true
        protocol:
          name: dubbo
          port: 20880
          accesslog: true
        provider:
          retries: 1
          delay: -1

    3. 启动类增加Dubbo注解

    @SpringBootApplication
    @EnableDubbo
    public class DemoApplication {
    public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }

     4. 生产者service接口定义

    package com.demo.api;
    
    
    public interface TestServiceApi {
        /**
         * 输出问候
         */
        void sayHello();
    }

    5. 生产者接口实现(注意@Service的包路径是dubbo的包路径, 不是Spring的

    package com.demo.api.impl;
    
    import com.alibaba.dubbo.config.annotation.Service;
    
    @Service
    public class TestServiceApiImpl implements TestServiceApi {
        /**
         * 输出问候
         */
      @Override    
      public void sayHello() { return "Hello world!"; } }

    6. 消费者调用示例

    import com.alibaba.dubbo.config.annotation.Reference;
    import com.demo.api.TestServiceApi;

    @Reference private TestServiceApi testServiceApi; public void hello() { String result = testServiceApi.sayHello(); System.out.println("result = " + result); }
  • 相关阅读:
    【转】PHP操作MongoDB【NoSQL】
    web前端响应式
    CSS Hack
    ES6特性
    zepto.js使用前注意
    移动端 isScroll自定义实现
    严格模式use strict
    node.js和express.js安装和使用步骤 [windows]
    JSONP理解和使用
    require.js+backbone.js基本使用
  • 原文地址:https://www.cnblogs.com/mhl1003/p/13577179.html
Copyright © 2020-2023  润新知