zoukankan      html  css  js  c++  java
  • SpringBoot整合Dubbo

    父子工程,父类是 quickstart生产者与消费者是Spring Initializr

    (1.)生产者目录

     

       

    (2.)创建生产者pom依赖

    <dependency>
        <groupId>com.101tec</groupId>
        <artifactId>zkclient</artifactId>
        <version>0.10</version>
    </dependency>
    <dependency>
        <groupId>com.alibaba.spring.boot</groupId>
        <artifactId>dubbo-spring-boot-starter</artifactId>
        <version>2.0.0</version>
    </dependency>

    (1. )创建生产者service接口

    package com.qzy.provide_consumer.service;

    public interface IDoSomeService {
        public String sayHi();
    }

    (2. )创建生产者serviceimpl

    package com.qzy.provide_consumer.service.impl;

    import com.alibaba.dubbo.config.annotation.Service;
    import com.qzy.provide_consumer.service.IDoSomeService;
    import org.springframework.stereotype.Component;

    //利用Dubbo暴露出一个接口
    @Service(interfaceClass= IDoSomeService.class)
    @Component
    public class IDoSomeServiceImpl implements IDoSomeService {
        @Override
        public String sayHi() {
            System.out.println("生产者生产的IDoSomeService服务,中的sayHi方法");
            return "SpringBoot Dubbo";
        }
    }

    (3. )配置application.properties

    spring.dubbo.application.name=provider
    spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
    spring.dubbo.protocol.name=dubbo
    spring.dubbo.protocol.port=20880

    (4. )测试类

    package com.qzy.provide_consumer;

    import com.alibaba.dubbo.spring.boot.annotation.EnableDubboConfiguration;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;

    @SpringBootApplication
    @EnableDubboConfiguration
    public class SpringbootDubboProviderApplication {

        public static void main(String[] args) {
            SpringApplication.run(SpringbootDubboProviderApplication.class, args);
            System.out.println("Dubbo接口暴露成功~");
        }

    }

    (5. )启动   启动前打开zookeeper

     

    (8.)消费者目录

     

    (9.)创建消费者pom依赖 和 生产者一样

    <dependency>
        <groupId>com.101tec</groupId>
        <artifactId>zkclient</artifactId>
        <version>0.10</version>
    </dependency>
    <dependency>
        <groupId>com.alibaba.spring.boot</groupId>
        <artifactId>dubbo-spring-boot-starter</artifactId>
        <version>2.0.0</version>
    </dependency>

    (10. )创建消费者service接口

    package com.qzy.provide_consumer.service;

    public interface IDoSomeService {
        public String sayHi();
    }

    (11.)创建消费者Controller

    package com.qzy.provide_consumer.controller;

    import com.alibaba.dubbo.config.annotation.Reference;
    import com.qzy.provide_consumer.service.IDoSomeService;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;

    @RestController
    public class DubboController {
        @Reference
        private IDoSomeService iDoSomeService;

        @RequestMapping("/dubbo")
        public String dubbo(){
            String returnValue = iDoSomeService.sayHi();
           return returnValue;
        }
    }

    (12.)配置application.properties  记得改端口号

    spring.dubbo.application.name=consumer
    spring.dubbo.registry.address=zookeeper://127.0.0.1:2181


    server.port=8081

    (13. )测试

    package com.qzy.provide_consumer;

    import com.alibaba.dubbo.spring.boot.annotation.EnableDubboConfiguration;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;

    @SpringBootApplication
    @EnableDubboConfiguration
    public class SpringbootDubboConsumerApplication {

        public static void main(String[] args) {
            SpringApplication.run(SpringbootDubboConsumerApplication.class, args);
        }

    }

     

    生产者会把输出的话打印出来

     

  • 相关阅读:
    AES加密demo
    js处理文本中特殊字符
    mybatis关联查询举例
    mysql杀进程脚本
    设置连接超时,connectTimeOut与readTimeOut需要同时设置
    JVM学习笔记(四)------内存调优
    JVM学习笔记(三)------内存管理和垃圾回收
    JVM学习笔记(二)------Java代码编译和执行的整个过程
    JVM学习笔记(一)------基本结构
    HTML常用标签及其全称
  • 原文地址:https://www.cnblogs.com/qinzhenyu/p/12039945.html
Copyright © 2011-2022 走看看