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);
        }

    }

     

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

     

  • 相关阅读:
    ORACLE设置用户密码不过期
    oracle错误(ORA:12154 ORA:01034 和 ORA:27101 ORA-18008 ORA-01081)
    常用正则表达式整理
    JS中处理单个反斜杠(即转义字符的处理)
    SpringMVC 使用PUT请求遇到的问题小结
    Tomcat7 目录详解
    java对象之----(PO,VO,DAO,BO,POJO)
    Oracle使用触发器和mysql中使用触发器的比较
    Oracle 数据库中对记录进行分页处理
    PHPOffice下PHPWord生成Word2007(docx)使用方法
  • 原文地址:https://www.cnblogs.com/qinzhenyu/p/12039945.html
Copyright © 2011-2022 走看看