springboot集成dubbo(springboot集成activiti)
本篇文章给大家谈谈springboot集成dubbo,以及springboot集成activiti对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、SpringBoot集成Dubbo-重连机制retries设置问题
- 2、Spring Cloud Alibaba Dubbo 集成
- 3、使用spring boot构建的客户端项目wolf调用dubbo服务
- 4、Springboot 2.x 整合Dubbo 2.6.x和Dubbo 2.7.x
SpringBoot集成Dubbo-重连机制retries设置问题
在日常开吵衫者发中,习升薯惯如果是查询类、或者结果不会因为调用次数而增加的时候就默认设置,如果是插入等对请求敏感的接口,可以关塌州掉该机制。
之前尝试的设置:
但是发现居然无效、无效 。retries = 0 但还是重复请求了。
后来去看源码。发现这个
这里就发现原因了,0+1= 1变量 len最终不是等于1
所以:关闭服务的重连、retries = -1 ;解决问题。
Spring Cloud Alibaba Dubbo 集成
本次主要介绍Spring Cloud Alibaba Dubbo 的集成,主要用到配置管理、服拿神仔务注册与发现组件是Nacos,
集成的各个组件的版本如下
1、Spring Cloud : Hoxton.SR8
2、Spring boot :2.3.2.RELEASE
3、Alibaba Cloud :2.2.3.RELEAS
一、 创建maven父依赖
创建maven项目test-parent, POM文件如消汪下
二、 创建微服务test-user-provider (服务提供者)
1、创建服务瞎局POM文件如下
2、UserProviderApplication 上加注解 @EnableDubbo
3、创建test-user-provider配置文件 bootstrap.yml
4、Nacos中test_user_provider_commons.yml 内容如下:
三、创建服务消费端test-user-consume
1、创建服务POM文件如下
2、创建test-user-consume配置文件 bootstrap.yml
3、Nacos中test_user_consume_commons.yml内部如下:
使用spring boot构建的客户端项目wolf调用dubbo服务
lion:dubbo服务的提供方,即服务端
项目地址:
wolf:dubbo服务的调用方,即客户端
项目地址:
wolf项目也是基于spring boot搭建的,结构和lion类似,下面我主要说下,对dubbo服务的调用,作为客户端这一侧,要做哪些配置。
1、在wolf-rpc模块依赖服务端的一些接口jar包,主要是lion-domain和lion-export
2、在wolf-rpc中增加dubbo调用侧的一些配置spring-dubbo.xml,spring-goods-consumer.xml
其中spring-dubbo.xml文件中主要放置的是对注册中心的一些参数配置,内容如下:
?xml version="1.0" encoding="UTF-8"?
beans xmlns=" " xmlns:xsi=" " xmlns:dubbo=" "
xsi:schemaLocation="
"
dubbo:application name="${server.name}"/
dubbo:protocol name="dubbo" port="${dubbo.port}" /
dubbo:provider timeout="3000" threadpool="fixed" threads="1000" accepts="1000" /
dubbo:registry id="registry" protocol="zookeeper" address="${zookeeper.address}" /
/beans
spring-goods-consumer.xml中主要是对远端提供侧服务的配置,内容如下
?xml version="1.0" encoding="UTF-8"?
beans xmlns=" "
xmlns:xsi=" " xmlns:dubbo=" "
xsi:schemaLocation="
"
dubbo:reference id="helloService" interface="org.lion.export.HelloService" version="${dubbo.version}" timeout="${dubbo.timeout}"/
/beans
3、在service层使用这个helloService
@Service("itemService")
public class ItemServiceImpl implements ItemService{
@Resource
private ItemDraftMapper itemDraftMapper;
使用@Resource注入该远端服务(实际上此时注入的是远端服务的一个代理类)
4、增加测试controller
@Controller
@RequestMapping("dubbo")
public class DubboTestController {
@Resource
private ItemService itemService;
}
5、修改wolf项目端口为8082,启动项目后测试
6、看看duboo-admin上,客户端是否注入
下图可以看到客户端项目wolf已经可以看到了。
Springboot 2.x 整合Dubbo 2.6.x和Dubbo 2.7.x
Dubbo有很长一段时间的岩银发展史,2018年的冲嫌时候不知道为什么阿里暂更了一年,之后又重新开始更新。之前一直是阿里在维护,后面阿里把它捐给了Apache基金会,由Apache来维护,2.6.x之前,maven中的包名都是alibaba,2.7.0之后包名改成了apache,其中整合入系统中有一些差异;发展史:
Dubbo的原理什么的以及它的组成这里就不扯了,直接说说dubbo的项目结构吧。
基粗判宴本的Dubbo项目组成分为三个部分:
接口层这里自定义了接口,实现部分由服务提供层来实现。建议将model也放在接口层中,接口层中对dubbo没有相关依赖,在这里pom就不提供了。
[img]关于springboot集成dubbo和springboot集成activiti的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。