最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot集成dubbo注解版的示例代碼

 更新時間:2018年10月20日 10:55:07   作者:Menng  
這篇文章主要介紹了springboot集成dubbo注解版的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

工作中用springboot搭建項目,用dubbo做遠程調(diào)用。springboot提倡注解配置和java配置,本文是基于dubbo最新版本2.6.3,使用注解方式的示例。

本文假定你已經(jīng)有springboot和dubbo的使用經(jīng)驗。

dubbo簡介

dubbo是阿里巴巴開源的分布式服務(wù)框架,一般使用dubbo的RPC調(diào)用。但2016年停止維護,現(xiàn)在使用的2.8.4版本其實是當當維護的dubbox。2017年8月阿里又重啟維護dubbo,并從2.5.7版本開始支持注解配置。

準備

此示例使用gradle構(gòu)建,關(guān)于gradle的安裝配置,請參考官方文檔。

zookeeper作為dubbo服務(wù)發(fā)現(xiàn)的基礎(chǔ)組件,關(guān)于zookeeper的安裝啟動,請參考官方文檔。

項目結(jié)構(gòu)如下

springboot-dubbo
├─settings.gradle
├─build.gradle
├─springboot-dubbo-api
│ │─build.gradle
│ └─src
│   └─main
│     └─java
│       └─org
│         └─aaron
│           └─springboot
│             └─dubbo
│               └─api
│                 DemoService.java
├─springboot-dubbo-consumer
│ │─build.gradle
│ └─src
│   └─main
│     ├─java
│     │ └─org
│     │   └─aaron
│     │     └─springboot
│     │       └─dubbo
│     │         └─consumer
│     │           DemoController.java
│     │           DubboConfiguration.java
│     │           DubboConsumerApplication.java
│     │             
│     └─resources
│        application.yml
└─springboot-dubbo-provider
  │─build.gradle
  └─src
    └─main
      ├─java
      │ └─org
      │   └─aaron
      │     └─springboot
      │       └─dubbo
      │         └─provider
      │           DemoServiceImpl.java
      │           DubboConfiguration.java
      │           DubboProviderApplication.java
      │             
      └─resources
        application.yml

引入外部依賴

  compile('com.alibaba:dubbo:2.6.3')
  compile('org.apache.zookeeper:zookeeper:3.4.9')
  compile('org.apache.curator:curator-framework:4.0.0')
  compile('org.springframework.boot:spring-boot-starter-web')

配置

1.生產(chǎn)者dubbo配置

@Configuration
public class DubboConfiguration {

  @Bean
  public RegistryConfig registryConfig() {
    RegistryConfig registryConfig = new RegistryConfig();
    registryConfig.setAddress("zookeeper://127.0.0.1:2181");
    registryConfig.setClient("curator");
    return registryConfig;
  }

  @Bean
  public ApplicationConfig applicationConfig() {
    ApplicationConfig applicationConfig = new ApplicationConfig();
    applicationConfig.setName("sprintboot-dubbo-provider");
    return applicationConfig;
  }

  @Bean
  public ProtocolConfig protocolConfig() {
    ProtocolConfig protocolConfig = new ProtocolConfig();
    protocolConfig.setPort(12021);
    protocolConfig.setName("dubbo");
    return protocolConfig;
  }
}

2.消費者dubbo配置

@Configuration
public class DubboConfiguration {

  @Bean
  public RegistryConfig registryConfig() {
    RegistryConfig registryConfig = new RegistryConfig();
    registryConfig.setAddress("zookeeper://127.0.0.1:2181");
    registryConfig.setClient("curator");
    return registryConfig;
  }

  @Bean
  public ApplicationConfig applicationConfig() {
    ApplicationConfig applicationConfig = new ApplicationConfig();
    applicationConfig.setName("sprintboot-dubbo-consumber");
    return applicationConfig;
  }

  @Bean
  public ConsumerConfig consumerConfig() {
    ConsumerConfig consumerConfig = new ConsumerConfig();
    consumerConfig.setTimeout(3000);
    return consumerConfig;
  }
}

3.定義接口

public interface DemoService {
  String sayHello();
}

4.生產(chǎn)者實現(xiàn)接口

import com.alibaba.dubbo.config.annotation.Service;

@Component
@Service(interfaceClass = DemoService.class, version = "1.0")
public class DemoServiceImpl implements DemoService {

  @Override
  public String sayHello() {
    return "Hello Springboot Dubbo";
  }
}

5.消費者調(diào)用接口

import com.alibaba.dubbo.config.annotation.Reference;

@RestController
public class DemoController {

  @Reference(interfaceClass = DemoService.class, version = "1.0")
  private DemoService demoService;

  @RequestMapping("/hello")
  public String sayHello() {
    return demoService.sayHello();
  }
}

啟動

  1. 本地啟動zookeeper
  2. 依次啟動springboot-dubbo-provider,springboot-dubbo-consumer
  3. 瀏覽器訪問 localhost:8080/hello
  4. 看到返回'Hello Springboot Dubbo' 即表示調(diào)用成功

其他

示例源碼(Github)

Dubbo注解配置

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

裕民县| 琼结县| 黄山市| 原平市| 和硕县| 九台市| 满洲里市| 遵义市| 米林县| 永平县| 海原县| 买车| 镇巴县| 武鸣县| 陵川县| 正宁县| 澄城县| 什邡市| 上虞市| 襄垣县| 麻江县| 潍坊市| 疏勒县| 内黄县| 瑞昌市| 麻栗坡县| 奉化市| 襄汾县| 陆丰市| 荆州市| 卢龙县| 章丘市| 白河县| 页游| 普兰县| 罗田县| 正镶白旗| 阳朔县| 玛沁县| 永丰县| 太康县|