文档章节

dubbo的provider和consumer的demo

阿桂的博客
 阿桂的博客
发布于 2015/11/02 09:39
字数 637
阅读 1208
收藏 1

**

provider项目

** 1、需要调用的接口 package service.api;

public interface DemoService { /*** * 对外的接口 * @param name * @return */ public String sayHello(String name); }

2、调用接口的实现 package service.api.impl;

import org.springframework.stereotype.Service;

import service.api.DemoService;

@Service("demoService") public class DemoServiceImpl implements DemoService{

public String sayHello(String name) {
	return "你真棒  居然成功搭建了dubbo的架构";
}

}

3、dubbo-provider.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" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd" default-autowire="byName">

<!-- <context:component-scan base-package="service.api.impl.**" />   -->

<!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 -->  
<dubbo:application name="dubboProvider" />  

<!-- 使用zookeeper注册中心暴露服务地址 -->  
<dubbo:registry id="registry" address="zookeeper://114.215.133.102:2181" />  

<dubbo:protocol id="protocol" name="dubbo" port="25000"
heartbeat="0" threadpool="cached" threads="512" />

<dubbo:provider id="im.riskctrl.dubbo.provider" timeout="5000"  
    retries="5" loadbalance="roundrobin" cluster="failover" registry="registry">  
</dubbo:provider> 

<!-- 生成远程服务代理,可以像使用本地bean一样使用demoService -->  
<dubbo:service interface="service.api.DemoService" ref="demoService" />  

<!-- 和本地bean一样实现服务 -->
<bean id="demoService" class="service.api.impl.DemoServiceImpl" />

</beans>

**

consumer项目

** 1、接口 package service.api;

public interface DemoService { /*** * 对外的接口 * @param name * @return */ public String sayHello(String name); }

2、调用dubbo服务 package service.api;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class ConsumerDemo {

public static void main(String[] args) {
	
	ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] { "classpath:dubbo-consumer.xml" });  

	context.start();  

	DemoService demoService = (DemoService) context.getBean("demoService"); // 
       
    String str=demoService.sayHello(""); //
   
    System.out.println(str);
    
    try {
		Thread.sleep(10000000);
	} catch (InterruptedException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	} //暂停,每一秒输出一次
}

}

3、dubbo-consumer.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.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

<!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 -->
<dubbo:application name="consumer-of-helloworld-app"/>
<!-- 使用multicast广播注册中心暴露发现服务地址 -->
<!-- <dubbo:registry address="multicast://xx4.xx.xx.xx:1234" /> -->
<dubbo:registry address="zookeeper://114.xxx.xxx.xxx:2181" />
<!-- 生成远程服务代理,可以和本地bean一样使用demoService -->
<dubbo:reference id="demoService" interface="service.api.DemoService" />

</beans>

© 著作权归作者所有

阿桂的博客

阿桂的博客

粉丝 12
博文 63
码字总数 34826
作品 0
浦东
高级程序员
私信 提问
动手学dubbo之初体验

一. 概述 以下部分来源于dubbo用户指南. DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,0...

ginobefun
2017/07/12
0
0
分布式服务-DUBBOX(三):dubbo-demo

1、概述 本章结合dubbo-admin,运行dubbo-demo。 dubbo-demo-api:对外接口。 dubbo-demo-provider:服务提供者,对外接口的“实现”。 dubbo-demo-consumer:服务消费者 2、实例运行 2.1、d...

warlockssss
2016/11/29
59
0
Dubbox入门示例(注册服务器使用zookeeper)

前言:Dubbox now means Dubbo eXtensions, and it adds features like RESTful remoting, Kyro/FST serialization, etc to the Dubbo service framework. http://dangdangdotcom.github.io/......

Fraud
2016/01/14
2.9K
1
Dubbo学习之旅二-Dubbo在spring中的使用

Dubbo学习之旅二-Dubbo在spring中的使用 下面我将重点介绍一下dubbo在实际项目当中的应用,以demo的形式来说明: 定义服务接口,单独建一个maven项目名为dubbo-demo-service: pom.xml中加入以下...

陈小扁
2016/04/28
1K
0
深入浅出微服务框架dubbo(三):流程篇

三、流程篇 画流程图为了记录debug过程,探究原理,而dubbo有各种扩展比如protocol有多种,注册中心也有多种选择,通信框架也有多种,不可能每个分支都覆盖到。所以只能选择自己比较熟悉使用...

格_鲁
2018/01/09
0
1

没有更多内容

加载失败,请刷新页面

加载更多

大厂面试经:高频率JVM面试问题整理!

JVM(Java虚拟机)简单来说就是运行Java代码的解释器,作为螺丝钉程序员JVM其实了解下就差不多啦,不懂JVM内部细节照样能写出优质的代码!但是一到造火箭、飞机的场景(面试)不懂JVM的你,会...

架构文摘
30分钟前
7
0
thinkphp5.1学习过程五——request

<?phpnamespace app\index\controller;//use \think\facade\Request;use \think\Request;/** * Class Demo3 * @package app\index\controller * 正常情况下,控制器不依赖......

大海yht
40分钟前
6
0
DB2 sequence 操作

操作DB2 下 sequence seqName db2数据库一般seq还是比较大的,但是程序在调用的时候还是不可避免的有一些bug, 下面是对于seq一些简单的操作,也作为工作的一些记录 1、命令行取sequence se...

飞雪无痕
今天
7
0
《吊打面试官》系列-秒杀系统设计

你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图和个人联系方式,欢迎Star和指教 絮叨 之前写了很多Redis相关的知识...

敖丙
今天
15
0
Qt编写气体安全管理系统11-数据打印

一、前言 在各种软件系统中,数据打印也是常用的功能之一,一般来说会对查询的数据结果导出到excel,还会对查询的数据结果直接打印,在Qt中提供了打印机类QPrinter,在printsupport组件中,可...

飞扬青云
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部