dubbo + zookeeper + spring Boot框架整合与dubbo泛型调用演示1

简介: dubbo + zookeeper + spring Boot框架整合与dubbo泛型调用演示

dubbo +zookeeper +spring Boot框架整合与dubbo泛型调用演示

 

By:客 授客 QQ:1033553122  欢迎加入全国软件测试交流 QQ  群:7156436

测试环境 1

实践过程 2

Java运行配置 2

zookeeper运行与配置 2

配置 2

运行 3

测试 3

Maven运行与配置 5

配置 5

Repository设置(可选) 6

利用maven打dubbo-admin-0.0.1-SNAPSHOT.jar包 8

dubbo-admin控制台运行与配置 9

配置(可选) 9

运行 9

编码 11

Maven mirrors配置 11

Idea maven运行环境配置 12

新建项目 14

新建父项目 14

新建模块 19

dubbo-demo-api模块编码 23

dubbo-demo-provider模块编码与配置 23

dubbo-dubbo-consumer模块编码 28

参考链接 32

Dubbo特性-泛型调用 32

依赖spring配置文件的泛型调用 32

不依赖Spring配置文件的泛型调用 33

泛型调用-传递更复杂的参数类型 34

参考链接 39

 

 

测试环境

服务端

CentOS 7操作系统(CentOS-7-x86_64-DVD-1503-01.iso)

下载地址:http://ftp.riken.jp/Linux/centos/7/isos/x86_64/

 

zookeeper-3.4.13.tar.gz

下载地址:

http://zookeeper.apache.org/releases.html

http://mirror.bit.edu.cn/apache/zookeeper/

https://pan.baidu.com/s/1Ug4hQ6PVQJmIhghyX4UIkQ

 

Java(jdk-8u65-linux-x64.tar.gz)

下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

 

incubator-dubbo-ops-master.zip

下载地址:

https://github.com/apache/incubator-dubbo-ops

https://pan.baidu.com/s/10Qu9IQa9RCmUyeSQLFpSkQ

 

 

客户端

Win7

 

apache-maven-3.5.4-bin.zip

https://maven.apache.org/download.cgi

https://pan.baidu.com/s/1OUNC0kZNduXJJLbpw76GZA

 

ideaIU-2018.2.1.exe

 

 

实践过程

Java运行配置

 

zookeeper运行与配置

配置

注:以下为单例模式运行下的配置

# tar xvzf zookeeper-3.4.13.tar.gz

# mkdir -p /var/lib/zookeeper

 

# cd zookeeper-3.4.13/

 

// 手工创建zoo.cfg配置

# cd conf/

# vim zoo.cfg //内容如下

tickTime=2000

dataDir=/var/lib/zookeeper

clientPort=2181

 

说明:

dataDir

 

tickTime 供Zookeeper使用的基本时间单位(单位毫秒),用于执行心跳,同时最小会话超时时间将会是tickTime的两倍。

 

dataDir 必须指向一个已存在目录,用于存在内存数据库快照,除非特别指明,否则为更新至数据库的事务日志(the location to store the in-memory database snapshots and, unless specified otherwise, the transaction log of updates to the database.)

 

clientPort 用于监听客户端连接的端口。

 

 

运行

# cd ../bin

# pwd

/usr/local/zookeeper/zookeeper-3.4.13/bin

# ls

README.txt  zkCleanup.sh  zkCli.cmd  zkCli.sh  zkEnv.cmd  zkEnv.sh  zkServer.cmd  zkServer.sh  zkTxnLogToolkit.cmd  zkTxnLogToolkit.sh

 

# zkServer.sh start

ZooKeeper JMX enabled by default

Using config: /usr/local/zookeeper/zookeeper-3.4.13/bin/../conf/zoo.cfg

Starting zookeeper ... STARTED

 

注:停止运行 zkServer.sh stop

 

测试

连接到ZooKeeper

# zkCli.sh -server 127.0.0.1:2181

Connecting to 127.0.0.1:2181

2017-09-15 20:48:06,986 [myid:] - INFO  [main:Environment@100] - Client environment:zookeeper.version=3.4.13-2d71af4dbe22557fda74f9a9b4309b15a7487f03, built on 06/29/2018 04:05 GMT

……(略)

Welcome to ZooKeeper!

2017-09-15 20:48:07,153 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@1029] - Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)

JLine support is enabled

 

……(略)

ZooKeeper -server host:port cmd args

stat path [watch]

set path data [version]

ls path [watch]

delquota [-n|-b] path

ls2 path [watch]

setAcl path acl

setquota -n|-b val path

history

redo cmdno

printwatches on|off

delete path [version]

sync path

listquota path

rmr path

get path [watch]

create [-s] [-e] path data acl

addauth scheme auth

quit

getAcl path

close

connect host:port

 

[zk: 127.0.0.1:2181(CONNECTED) 1] ls /

[zookeeper]

[zk: 127.0.0.1:2181(CONNECTED) 2] create /zk_test my_data

Created /zk_test

[zk: 127.0.0.1:2181(CONNECTED) 3] ls /

[zookeeper, zk_test]

[zk: 127.0.0.1:2181(CONNECTED) 4] get /zk_test

my_data

cZxid = 0x2

ctime = Fri Sep 15 20:52:32 CST 2017

mZxid = 0x2

mtime = Fri Sep 15 20:52:32 CST 2017

pZxid = 0x2

cversion = 0

dataVersion = 0

aclVersion = 0

ephemeralOwner = 0x0

dataLength = 7

numChildren = 0

[zk: 127.0.0.1:2181(CONNECTED) 5] set /zk_test junk

cZxid = 0x2

ctime = Fri Sep 15 20:52:32 CST 2017

mZxid = 0x3

mtime = Fri Sep 15 20:54:39 CST 2017

pZxid = 0x2

cversion = 0

dataVersion = 1

aclVersion = 0

ephemeralOwner = 0x0

dataLength = 4

numChildren = 0

[zk: 127.0.0.1:2181(CONNECTED) 6] get /zk_test

junk

cZxid = 0x2

ctime = Fri Sep 15 20:52:32 CST 2017

mZxid = 0x3

mtime = Fri Sep 15 20:54:39 CST 2017

pZxid = 0x2

cversion = 0

dataVersion = 1

aclVersion = 0

ephemeralOwner = 0x0

dataLength = 4

numChildren = 0

[zk: 127.0.0.1:2181(CONNECTED) 7] delete /zk_test

 

参考链接:

http://zookeeper.apache.org/doc/current/zookeeperStarted.html

http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_systemReq

http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_configuration

 

Maven运行与配置

确保安装了java jdk并正确设置了JAVA_HOME

配置

下载bin.zip压缩包,解压到目标路径(例中 D:\Program Files\apache-maven-3.5.4\

),设置MAVEN_HOME环境变量,如下

 

Cmd输入mvn -v测试


1569452-20181231093726119-1317628689.png

目录
相关文章
|
11月前
|
安全 Java Ruby
我尝试了所有后端框架 — — 这就是为什么只有 Spring Boot 幸存下来
作者回顾后端开发历程,指出多数框架在生产环境中难堪重负。相比之下,Spring Boot凭借内置安全、稳定扩展、完善生态和企业级支持,成为构建高可用系统的首选,真正经受住了时间与规模的考验。
747 2
|
NoSQL 安全 Java
2.2k star 单点登录框架揭秘!主流SSO太重?SpringBoot轻量级Smart‑SSO轻松接入·分布式·强踢人
Smart-SSO 是一个基于 SpringBoot 的轻量级单点登录框架,采用 OAuth2 授权码与 RBAC 权限设计,解决跨域认证、单点退出、令牌过期等痛点。支持自动续签、强制踢人、按钮级权限控制及分布式部署,适合中小团队快速构建高可用认证中台。项目已获 2.2k Star,代码开源,接入简单,是企业级应用的理想选择。[详情见 GitHub](https://github.com/a466350665/smart-sso)。
761 23
|
JavaScript 前端开发 Java
制造业ERP源码,工厂ERP管理系统,前端框架:Vue,后端框架:SpringBoot
这是一套基于SpringBoot+Vue技术栈开发的ERP企业管理系统,采用Java语言与vscode工具。系统涵盖采购/销售、出入库、生产、品质管理等功能,整合客户与供应商数据,支持在线协同和业务全流程管控。同时提供主数据管理、权限控制、工作流审批、报表自定义及打印、在线报表开发和自定义表单功能,助力企业实现高效自动化管理,并通过UniAPP实现移动端支持,满足多场景应用需求。
1315 1
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
693 4
|
Dubbo Java 应用服务中间件
Spring Cloud Dubbo:微服务通信的高效解决方案
【10月更文挑战第15天】随着信息技术的发展,微服务架构成为企业应用开发的主流。Spring Cloud Dubbo结合了Dubbo的高性能RPC和Spring Cloud的生态系统,提供高效、稳定的微服务通信解决方案。它支持多种通信协议,具备服务注册与发现、负载均衡及容错机制,简化了服务调用的复杂性,使开发者能更专注于业务逻辑的实现。
469 2
|
前端开发 Java 物联网
智慧班牌源码,采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署
智慧班牌系统是一款基于信息化与物联网技术的校园管理工具,集成电子屏显示、人脸识别及数据交互功能,实现班级信息展示、智能考勤与家校互通。系统采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署与私有化定制。核心功能涵盖信息发布、考勤管理、教务处理及数据分析,助力校园文化建设与教学优化。其综合性和可扩展性有效打破数据孤岛,提升交互体验并降低管理成本,适用于日常教学、考试管理和应急场景,为智慧校园建设提供全面解决方案。
789 70
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,包括版本兼容性、安全性、性能调优等方面。
910 1
|
Java API 数据库
Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐
本文通过在线图书管理系统案例,详细介绍如何使用Spring Boot构建RESTful API。从项目基础环境搭建、实体类与数据访问层定义,到业务逻辑实现和控制器编写,逐步展示了Spring Boot的简洁配置和强大功能。最后,通过Postman测试API,并介绍了如何添加安全性和异常处理,确保API的稳定性和安全性。
331 0
|
存储 Java 关系型数据库
在Spring Boot中整合Seata框架实现分布式事务
可以在 Spring Boot 中成功整合 Seata 框架,实现分布式事务的管理和处理。在实际应用中,还需要根据具体的业务需求和技术架构进行进一步的优化和调整。同时,要注意处理各种可能出现的问题,以保障分布式事务的顺利执行。
1628 160
|
监控 Java 调度
SpringBoot中@Scheduled和Quartz的区别是什么?分布式定时任务框架选型实战
本文对比分析了SpringBoot中的`@Scheduled`与Quartz定时任务框架。`@Scheduled`轻量易用,适合单机简单场景,但存在多实例重复执行、无持久化等缺陷;Quartz功能强大,支持分布式调度、任务持久化、动态调整和失败重试,适用于复杂企业级需求。文章通过特性对比、代码示例及常见问题解答,帮助开发者理解两者差异,合理选择方案。记住口诀:单机简单用注解,多节点上Quartz;若是任务要可靠,持久化配置不能少。
1193 4