dubbox系列【三】——简单的dubbox提供者+消费者示例

1.dubbox-provider示例

在eclipse中建立maven project,名为provider-parent,包含两个maven medule:provider-api 和 provider。

项目源码已经上传至码云:http://git.oschina.net/yeyouluo/dubbox-demo-provider

使用mvn install命令编译provider-api,最终在本地maven仓库中会生成对应的provider-api-0.0.1-SNAPSHOT.jar。如果在实际生产环境中,还应该上传到私服或中央仓库中,便于消费者使用(暴露的服务在此jar中)。

运行Provider.java,执行main方法:

 1 package com.yeyouluo.dubbox.provider.test;
 2
 3 import java.io.IOException;
 4
 5 import org.springframework.context.support.ClassPathXmlApplicationContext;
 6
 7 public class Provider {
 8
 9     public static void main(String[] args) throws IOException {
10         // TODO Auto-generated method stub
11         ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("dubbox-provider.xml");
12         ac.start();
13
14         // 为保证服务一直开着,利用输入流的阻塞来模拟
15         System.in.read();
16     }
17
18 }

Provider.java

启动后,admin中出现提供者实例:

2.dubbox-consumer示例

consumer实例比较简单,配置好<dubbo:consumer>标签,就可以像调用本地服务一样调用远程服务。

项目源码已经上传至码云:http://git.oschina.net/yeyouluo/dubbox-demo-consumer。

运行Consumer.java,执行main方法:

 1 package com.yeyouluo.dubbox.consumer.test;
 2
 3 import java.io.IOException;
 4 import java.util.List;
 5
 6 import org.springframework.context.support.ClassPathXmlApplicationContext;
 7
 8 import com.yeyouluo.dubbox.provider.inter.IDemoService;
 9 import com.yeyouluo.dubbox.provider.pojo.User;
10
11 public class Consumer {
12
13     public static void main(String[] args) throws IOException {
14         ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("dubbox-consumer.xml");
15         ac.start();
16
17         IDemoService demoService = (IDemoService)ac.getBean("demoService");
18         String res = demoService.sayHello("yeyouluo");
19         System.out.println(res);
20         List<User> users = demoService.getUsers();
21         for( User u : users ){
22             System.out.println(u.toString());
23         }
24
25         System.in.read();
26     }
27
28 }

Consumer.java

控制台输出如下:

admin中出现消费者实例:

3.附:使用ZooInspector可视化zk内容

ZooInspector下载地址:

  链接: https://pan.baidu.com/s/1c2KQDpQ 密码: uxpa

时间: 2024-10-19 02:25:13

dubbox系列【三】——简单的dubbox提供者+消费者示例的相关文章

sql server 备份与恢复系列三 简单恢复模式下的备份与还原

原文:sql server 备份与恢复系列三 简单恢复模式下的备份与还原 一.概述 前面讲了备份的一些理论知识,这篇开始讲在简单恢复模式下的备份与还原.在简单模式下是不能做日志备份的,发生灾难后,数据库最后一次备份之后做的数据修改将是全部丢失的,所以在生产环境下,数据又很重要,一般不建议使用这种模式. 例如对一个数据库有5次完整数据备份,时间是t5,  之后发生灾难,就会部丢失. 当数据库越来越大,完整备份时间会越来越长,为了减少丢失风险,引入差异备份.例如下图演示:在第一次建立数据库完整备份后

dubbox系列【二】——dubbox admin环境搭建

1.环境 JDK7+ zookeeper 3.3.6 tomcat 7+ 2.搭建步骤 (1)安装zookeeper 单机模式:参考这里. 伪集群模式:参考这里. ①单机或伪集群模式均可. ②笔者使用了伪集群模式. (2)下载dubbox源码(地址:https://github.com/dangdangdotcom/dubbox),使用maven 编译得到 dubbo-admin-2.8.4.war. ①需要提前对IDE配置好jdk 和 maven. ②在编译之前可能需要解决掉编译错误(一般需要

dubbox系列【一】——dubbox简介

1.dubbox是什么? dubbox是当当网开源的开源分布式服务框架,基于阿里巴巴dubbo. 1个框架 + 2个方案:分布式服务框架 + RPC远程调用方案 + SOA服务治理方案. 2.dubbox可以干什么? 大白话:以前使用本地调用服务(jar),现在使用远程调用(RPC).这样虽然流程复杂了,但将服务拆分成量级更小的微服务,提高了服务的性能及复用性. 远程通讯:提供透明化的远程方法调动,提供多协议支持.集群容错:软负载均衡,失败容错,地址路由,动态配置等集群支持.自动发现:基于注册中

Android高效率编码-第三方SDK详解系列(三)——JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送

Android高效率编码-第三方SDK详解系列(三)--JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送 很久没有更新第三方SDK这个系列了,所以更新一下这几天工作中使用到的推送,写这个系列真的很要命,你要去把他们的API文档大致的翻阅一遍,而且各种功能都实现一遍,解决各种bug各种坑,不得不说,极光推送真坑,大家使用还是要慎重,我们看一下极光推送的官网 https://www.jpush.cn/common/ 推送比较使用,很多软件有需要,所以在这个点拿出来多讲讲,我们本节

Spring Data 系列(三) Spring+JPA(spring-data-commons)

本章是Spring Data系列的第三篇.系列文章,重点不是讲解JPA语法,所以跑开了JPA的很多语法等,重点放在环境搭建,通过对比方式,快速体会Spring 对JPA的强大功能. 准备代码过程中,保持了每个例子的独立性,和简单性,准备的源码包,下载即可使用.如果,对JPA语法想深入研究的话,直接下载在此基础上进行测试. 前言 Spring Data 系列(一) 入门:简单介绍了原生态的SQL使用,以及JdbcTemplate的使用,在这里写SQL的活还需要自己准备. Spring Data 系

短信开发系列(三):短信接收引擎

短信开发系列目录: 短信开发系列(一):GSM手机短信开发初探短信开发系列(二):GSM手机短信开发之短信解码短信开发系列(三):短信接收引擎 之前写了短信接收处理的一些内容,今年事情实在太多了,就停顿了这么一大段的时间.接下来会继续完成相关的内容. 今天先写用之前写的短信类库的一个应用,短信接收引擎.可以用在处理一些短信的提醒:作为前面两篇文章的一个实战运用,可以作为一个多线程.委托和事件.串口等方面知识的一个综合运用. 先来分析一下整个程序的流程: - 启动线程 - 定时运行线程主函数 -

EventMachine 系列之简单的服务器

摘要:Dota(Defence of the Ancients,远古的守护), 是指基于魔兽争霸3:冰封王座(暴雪娱乐公司出品)的多人即时对战自定义地图,可支持10个人同时连线游戏.Dota以对立的两个小队展开对战,通常是5v5,游戏目的是守护自己的远古遗迹(近卫方的生命之树.天灾方的冰封王座),同时摧毁对方的远古遗迹.DotA是目前唯一被暴雪娱乐公司官方认可的魔兽争霸RPG.Dota在大学生中的风靡程度令人咂舌,而随着玩家对游戏的理解深入,本身存在于游戏中的许多数学模型被挖掘出来进行研究.游戏

hdu2045 不容易系列三——LELE的RPG难题 (递推方程)

本文出自:blog.csdn.net/svitter 原题:http://acm.hdu.edu.cn/showproblem.php?pid=2045 题意:中文不用我说了吧. 这个题目的关键就在于递推方程--以及错误的测试数据 首先这个题目就是简单的置换群着色问题-- 去除了反转的问题,难一点的大家可以看P197(离散数学,高等教育出版社) 我在做这个题目的时候首先被f [ 1 ]  = 3 困扰了..拜托,根本不符合题意好吗- =一个格子能说是首尾颜色不同吗? 后来写错了递推方程--f [

Apache Kafka系列(三) Java API使用

Apache Kafka系列(一) 起步 Apache Kafka系列(二) 命令行工具(CLI) Apache Kafka系列(三) Java API使用 摘要: Apache Kafka Java Client API 一.基本概念 Kafka集成了Producer/Consumer连接Broker的客户端工具,但是在消息处理方面,这两者主要用于服务端(Broker)的简单操作,如: 1.创建Topic 2.罗列出已存在的Topic 3.对已有Topic的Produce/Consume测试