博客
关于我
Dubbo学习之简单的demo(xml版)
阅读量:330 次
发布时间:2019-03-04

本文共 3574 字,大约阅读时间需要 11 分钟。

当前环境:zookeeper3.4.13、eclipse、jdk1.8

1.首先创建一个api接口

在这里插入图片描述

1.1 创建一个DemoService接口作为当前统一使用的接口

/** * @description 定义服务接口 * @author hy * @date 2019-10-06 */public interface DemoService {   	String say(String context);}

1.2 将当前的dubbo-api打成jar包

在这里插入图片描述

通过maven build,然后使用maven install,让当前的maven仓库出现文件

在这里插入图片描述

2.创建一个父级项目

在这里插入图片描述

2.1 添加依赖

4.0.0
DubboParentDemo
DubboParentDemo
0.0.1-SNAPSHOT
pom
org.apache.dubbo
dubbo
2.7.3
junit
junit
3.8.1
org.slf4j
slf4j-api
2.0.0-alpha1
org.slf4j
slf4j-simple
2.0.0-alpha1
org.apache.curator
curator-framework
2.9.0
org.apache.curator
curator-recipes
2.9.0
dubbo-start-demo-provider
dubbo-start-demo-consumer

注意如果出现连接zookeeper问题表示当前的curator版本有问题,修改版本即可(当前项目已测试成功)

3.在DubboParentDemo创建dubbo-start-demo-provider项目

3.1 添加依赖

这里需要引入dubbo-api这个jar包

DubboParentDemo
DubboParentDemo
0.0.1-SNAPSHOT
dubbo-start-demo
dubbo-start-demo
http://maven.apache.org
UTF-8
dubbo-api
dubbo-api
0.0.1-SNAPSHOT

3.2 编写DemoServiceImpl类

import com.hy.dubbo.api.DemoService;/** * @description 在服务方创建服务的实现类 * @author hy * @date 2019-10-06 */public class DemoServiceImpl implements DemoService{   	@Override	public String say(String context) {   		return "Hello "+context+" !";	}	}

3.3 编写provider.xml文件

3.3 编写Provider类

public class Provider {       public static void main(String[] args) throws Exception {           ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] {   "classpath:provider.xml"});        context.start();        System.in.read(); // 按任意键退出    }}

3.4 启动Provider

在这里插入图片描述

出现CONNECTED表示已经连接到zookeeper

4.在DubboDemoParent中添加dubbo-start-demo-consumer项目

4.1 添加依赖

同样需要导入dubbo-api这个接口的jar包

DubboParentDemo
DubboParentDemo
0.0.1-SNAPSHOT
dubbo-start-demo-consumer
dubbo-start-demo-consumer
http://maven.apache.org
UTF-8
dubbo-api
dubbo-api
0.0.1-SNAPSHOT

4.2 编写customer.xml文件

4.3 编写Consumer 类

public class Consumer {   	public static void main(String[] args) throws Exception {   		ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(				new String[] {    "classpath:customer.xml" });		context.start();		DemoService demoService = (DemoService) context.getBean("demoService"); // 获取远程服务代理		String hello = demoService.say("hello"); // 执行远程方法		System.out.println(hello); // 显示调用结果	}}

4.4 启动Consumer

在这里插入图片描述

结果成功!

5.总结

1.在使用dubbo的时候需要注意服务注册中心的问题需要启用注册中心,感觉和SpringClould一样

2.如果出现了不能连接zookeeper的问题,可能是版本的问题或者是缺少包

3.当前的dubbo中的接口需要在maven中打成jar包,然后被客户端和服务端一起引用

以上纯属个人见解,如有问题请联系本人!

转载地址:http://vheh.baihongyu.com/

你可能感兴趣的文章
数据结构第八节(图(下))
查看>>
基础篇:异步编程不会?我教你啊!CompletableFuture
查看>>
基于Mustache实现sql拼接
查看>>
气球游戏腾讯面试题滑动窗口解法
查看>>
POJ 2260 Error Correction 模拟 贪心 简单题
查看>>
POJ - 1328 Radar Installation 贪心
查看>>
CSUOJ Water Drinking
查看>>
自定义博客园博客的背景图片
查看>>
Spring MVC+javamail实现邮件发送
查看>>
Asp.NET Core 限流控制-AspNetCoreRateLimit
查看>>
gRPC在 ASP.NET Core 中应用学习(一)
查看>>
@SuppressWarnings 用法
查看>>
看完你就明白的锁系列之锁的状态
查看>>
ReentrantLock 源码分析从入门到入土
查看>>
一篇文章带你「重新认识」线程上下文切换怎么玩儿
查看>>
看完这篇操作系统,和面试官扯皮就没问题了
查看>>
我的价值观
查看>>
真香!Linux 原来是这么管理内存的
查看>>
一文详解 Java 并发模型
查看>>