2019独角兽企业重金招聘Python工程师标准>>>

上次springboot集成dubbo写过一个简单的demo调用的方式,由于spring版本的问题,这次使用duboox,完全基于注解的方式。

dubbox  地址:https://github.com/dangdangdotcom/dubbox

由于dubbox没有发布到maven中央仓库,需要自己安装到本地maven库或者私库

git clone https://github.com/dangdangdotcom/dubbox

在dubbox目录执行mvn install -Dmaven.test.skip=true来尝试编译一下dubbo(并将dubbo的jar安装到本地maven库)

1.导入maven依赖

<dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.4.6</version><exclusions><exclusion><groupId>log4j</groupId><artifactId>log4j</artifactId></exclusion></exclusions>
</dependency>
<dependency><groupId>com.101tec</groupId><artifactId>zkclient</artifactId><version>0.7</version>
</dependency>
<dependency><groupId>com.alibaba</groupId><artifactId>dubbo</artifactId><version>2.8.4</version><exclusions><exclusion><groupId>org.springframework</groupId><artifactId>spring</artifactId></exclusion></exclusions>
</dependency>

2.配置dubbo

dubbo.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsdhttp://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"default-lazy-init="false"><dubbo:protocol name="dubbo" host="${dubbo.protocol.dubbo.host}" port="${dubbo.protocol.dubbo.port}" charset="UTF-8"  threadpool="fixed" threads="500" /><dubbo:application name="${dubbo.application.name}"></dubbo:application><dubbo:registry address="${dubbo.registry.address}" check="true" username="${dubbo.admin.username}" password="${dubbo.admin.password}"></dubbo:registry><dubbo:provider timeout="6000" /> //表示为提供者<dubbo:consumer timeout="6000" check="false"/>//表示为消费者  check是检查是否有对应的服务提供<dubbo:annotation package="com.example" />
</beans>

.properties

#服务名
dubbo.application.name=dubbo-01
#注册的组
dubbo.registry.group=test2
#注册服务的域名
dubbo.protocol.dubbo.host=
#注册服务的端口
dubbo.protocol.dubbo.port=-1
#zookeeper地址
dubbo.registry.address=zookeeper://:2181
#用户名
dubbo.admin.username=dubbo
#密码
dubbo.admin.password=

3.创建接口

package com.example.dubbo;/*** Created by 王念 on 2016/4/21.*/
public interface Iservice {String test();
}

该接口提供者和消费者都需要依赖。 提供者实现该方法,消费者调用该方法

4.提供者实现

package com.example.dubbo;import com.alibaba.dubbo.config.annotation.Service; //使用该注解注册dubbo服务
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;/*** Created by 王念 on 2016/4/21.*/
@Service
@EnableAutoConfiguration
public class ServiceImpl implements Iservice {@Overridepublic String test() {System.out.printf("RPC调用成功");return "RPC调用成功";}
}

4.消费者调用

package com.example;import com.alibaba.dubbo.config.annotation.Reference;
import com.example.dubbo.Iservice;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.SpringApplicationConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = DemoApplication.class)
public class DemoApplicationTests {@Reference//使用该注解注入服务Iservice iservice;@Testpublic void contextLoads() {System.out.println(iservice.test());//调用}}

5.main方法

@SpringBootApplication
@ImportResource("classpath:/dubbo-provider.xml")//启动加在dubbo配置文件
public class DemoApplication{public static void main(String[] args) {SpringApplication.run(ProviderApplication.class, args);try {System.out.println("启动成功,按任意键关闭");System.in.read();} catch (IOException e) {e.printStackTrace();}} }

本文地址(防爬虫不标注来源):http://my.oschina.net/wangnian/blog/665299

转载于:https://my.oschina.net/wangnian/blog/665299

SpringBoot之Dubbox相关推荐

  1. springboot整合dubbox+zookeeper

    首先下载zookeeper并解压得到如下 修改conf文件夹下面的zoo.cfg文件配置如下 # The number of milliseconds of each tick #这个时间是作为zoo ...

  2. Spring boot学习整理

    目录: Springboot结合hbase Springboot结合elasticsearch Springboot结合RestTemplate处理Http请求 Springboot的maven相关 ...

  3. Java常用类库以及简介,具体使用细节进行百度(爬虫爬取的数据)

    来至于互联网 Office文档的Java处理包 POI [推荐] Apache POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目.目前POI已经有了Ruby版本. 结构: ...

  4. 项目如何用jetty运行_阿里大牛教你如何用Dubbox+SpringBoot+Docker架构,实现双11项目...

    前言 本篇围绕秒杀抢购应用场景,对当下流行的Dubbox+ Spring Boot+Docker微服务架构解决方案进行讲解.主要内容包括微服务架构介绍.Dubbox 原理及运用.使用Spring Bo ...

  5. 基于Dubbox的微服实战学习3——使用Dubbox+SpringBoot实现微服架构

    基于Dubbox的微服实战学习3--使用Dubbox+SpringBoot实现微服架构 0.问题 1.依赖环境介绍 2.运行原理介绍 3.环境搭建补充 4.基础服务模块介绍 5.提供者服务实现 6.消 ...

  6. SpringBoot开发案例之整合Dubbo分布式服务

    前言 在 SpringBoot很火热的时候,阿里巴巴的分布式框架 Dubbo 不知是处于什么考虑,在停更N年之后终于进行维护了.在之前的微服务中,使用的是当当维护的版本 Dubbox,整合方式也是使用 ...

  7. springboot 详解 (四)redis filter

    ---------------------------------------------------------------------------------------------------- ...

  8. SpringBoot基础重难点

    来源:SpringBoot基础重难点 - liangxiaolong - 博客园 1.SpringBoot 1.1 概念 Spring Boot是构建所有基于Spring的应用程序的起点.Spring ...

  9. springboot+springcloud相关问题

    什么是springboot1.用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件)2.创建独立的spring引用程序 main方法运行3.创建独 ...

最新文章

  1. Android源码编译过程之九鼎开发板
  2. mysql mtq_mysql基本操作 - osc_r3mtqivi的个人空间 - OSCHINA - 中文开源技术交流社区
  3. Couchbase 集群小实践
  4. 宁波深化智慧城市建设开启智能交通新模式
  5. 理解浏览器是如何加载及渲染网页的
  6. P5709 【深基2.习6】Apples Prologue 苹果和虫子(python3实现)
  7. 【0xC1900101】BOOT过程中的SAFE_OS阶段安装win10失败的解决方法
  8. yapi 权限_win10 x64下从0开始搭建YApi可视化接口管理平台
  9. R与Python手牵手:多格式文件导入与爬虫
  10. 用R命令看一下各个寄存器的设置情况
  11. python可以用于工业机器人编程与操作_工业机器人用什么语言编程?
  12. 如何修改html代码,如何修改网页源代码
  13. 计算机毕业论文乐谱播放器,单片机音乐播放器毕业论文
  14. flash player 9 安装错误:您尝试安装的adobeflashplayer版本不是最新版本
  15. 玩转微信|两种微信批量删除好友教程
  16. [软件安装] 动态图像录制工具LICEcap
  17. 华为Android10怎样root,华为M2平板10.0怎么ROOT 华为M2超级权限图文教程
  18. 大漠插件后台绑定方式: 逆水寒
  19. Python求各科成绩差与平均数
  20. React | React的JSX语法

热门文章

  1. Extensible Firmware Interface
  2. 使用Android Studio 进行NDK开发和调试
  3. 学android开发,入门语言JAVA知识点
  4. Win7 32位下DebugView和DriverMinitor不能打印调试信息的问题
  5. mysql 备份的脚本
  6. 8个超棒的使用javascript开发的视觉特效网站
  7. 二叉树最近公共祖先 LCA
  8. Django基础-Web框架-URL路由
  9. 关于Golang的4个小秘密
  10. mysql语言的特点不包括_SQL语言具有两种使用方式,分别称为交互式SQL和__________...