Provider和Consumer的搭建(六)
时间:2019-09-08
本文章向大家介绍Provider和Consumer的搭建(六),主要包括Provider和Consumer的搭建(六)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
创建三个Maven Project:
- dubbo-service:公共模块,包括服务接口(packaging:jar)
- dubbo-service-impl:服务提供方,提供服务接口的具体实现,需要依赖dubbo-service(packaging:jar)
- dubbo-consumer:服务调用方,需要依赖dubbo-service(packaging:war)
一、dubbo-service
public interface DemoService { public String demo(String name); }
二、dubbo-service-impl
1. pom.xml配置
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.linhw.demo</groupId> <artifactId>dubbo-service-impl</artifactId> <version>0.0.1-SNAPSHOT</version> <dependencies> <dependency> <groupId>com.linhw.demo</groupId> <artifactId>dubbo-service</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <!-- dubbo依赖 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.6.0</version> </dependency> <!-- 访问 zookeeper 的客户端 jar --> <dependency> <groupId>com.101tec</groupId> <artifactId>zkclient</artifactId> <version>0.10</version> </dependency> </dependencies> </project>
2. 接口实现类
public class DemoServiceImpl implements DemoService{ @Override public String demo(String name) { return "dubbo RPC " + name; } }
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" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> <!-- 给当前provider自定义一个名字 --> <dubbo:application name="demo-provider"/> <!-- 配置注册中心 --> <dubbo:registry address="192.168.178.5:2181" protocol="zookeeper"/> <!-- 配置协议及端口 --> <dubbo:protocol name="dubbo" port="28888"/> <!-- 注册功能 --> <bean id="demoService" class="com.linhw.demo.service.impl.DemoServiceImpl"/> <dubbo:service interface="com.linhw.demo.service.DemoService" ref="demoService"/> </beans>
4. 启动容器
(1) 通过 spring 方式启动:对dubbo-provider.xml的位置没有要求
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("dubbo-provider.xml"); ctx.start(); System.out.println("启动成功"); System.in.read();
(2) 使用 dubbo 提供的方式启动(推荐使用这种方式):要求 dubbo-provider.xml必须放入类路径下/META-INF/spring/*.xml
Main.main(args);
查看是否发布成功,可以启动Dubbo Admin,在管理控制台查看。
三、dubbo-consumer
原文地址:https://www.cnblogs.com/myitnews/p/11484786.html
- 打造属于自己的支持版本迭代的Asp.Net Web Api Route
- 分布式消息队列 RocketMQ 源码分析 —— Message 拉取与消费(上)
- 分布式消息队列 RocketMQ 源码分析 —— Message 拉取与消费(下)
- Spring Boot中使用RabbitMQ
- Spring Cloud构建微服务架构:消息驱动的微服务(入门)【Dalston版】
- 哪类人适合当产品经理?
- 产品经理·杂谈
- Python机器学习中的特征选择
- Android学习第八弹之改变状态栏的颜色使其与APP风格一体化
- 手把手教你 MongoDB 的安装与详细使用(二)
- 搭建 MongoDB分片(sharding) / 分区 / 集群环境
- Android调用手机中的应用市场,去评分的功能实现
- ANR 原理与实战技巧
- Android将应用程序的崩溃信息如何保存到本地文件,并上传至服务器
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Openssl实现双向认证教程(附服务端客户端代码)
- centos8使用Docker部署Django项目的详细教程
- ubuntu18.04 安装qt5.12.8及环境配置的详细教程
- 安装Ubuntu20.04与安装NVIDIA驱动的教程
- Ubuntu下安装nvidia显卡驱动(安装方式简单)
- Ubuntu 20.04 apt 更换国内源的实现方法
- Android设计模式之单例模式解析
- Android屏蔽软键盘并且显示光标的实例详解
- Android实现底部缓慢弹出菜单
- Ubuntu20的tzselect设置时间失效的问题,树莓派服务器(推荐)
- 安装Ubuntu 20.04后要做的事(小白教程)
- Ubuntu20.04安装Python3的虚拟环境教程详解
- Android编程实现播放视频时切换全屏并隐藏状态栏的方法
- Android UI设计与开发之仿人人网V5.9.2最新版引导界面
- PopupWindow使用方法详解