博客
关于我
Dubbo学习之简单的demo(xml版)
阅读量:329 次
发布时间: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/

你可能感兴趣的文章
利用Bootstrap Paginator插件和KnockoutJS完成分页功能
查看>>
.NET微信网页开发之使用微信JS-SDK调用微信扫一扫功能
查看>>
.NET微信网页开发之使用微信JS-SDK获取当前地理位置
查看>>
Android Studio在android Emulator中运行的项目黑屏
查看>>
Python写代码的时候为什么要注释?Sun因此被Oracle收购
查看>>
JAVA高并发集合详解
查看>>
解决Spirng注入时名称下的红色波浪线
查看>>
操作系统知识概述
查看>>
读懂操作系统(x64)之堆栈帧(过程调用)
查看>>
仓储模式到底是不是反模式?
查看>>
VS2015安装EF Power Tools
查看>>
Web APi之捕获请求原始内容的实现方法以及接受POST请求多个参数多种解决方案(十四)
查看>>
ASP.NET MVC之JsonResult(六)
查看>>
SQL Server之深入理解STUFF
查看>>
EntityFramework 6.x和EntityFramework Core关系映射中导航属性必须是public?
查看>>
使用mybatis-generator生成底层
查看>>
Android APK 重签名
查看>>
Mybatis【3】-- Mybatis使用工具类读取配置文件以及从属性读取DB信息
查看>>
Mybatis【5】-- Mybatis多种增删改查那些你会了么?
查看>>
Mybatis【7】-- Mybatis如何知道增删改是否成功执行?
查看>>