SpringBoot 多数据源分布式事务
1.pom依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jta-atomikos</artifactId>
</dependency>
2.application.properties配置文件
3. Atomikos的原理
A. 每个数据源执行时获取一个标记事务的唯一ID;
B. 每个数据源做execute;
C. 每个数据源做end,标记这个数据库的sql已经执行完毕,不会再执行别的语句,该事务已经可以提交了;
D. 每个数据源做prepare,预提交该事务;
E. 如果所有的prepare都是成功的,则commit,否则rollback。
10.JTA分布式事务执行报org.springframework.transaction.UnexpectedRollbackException: JTA transaction unexpectedly rolled back (maybe due to a timeout); nested exception is javax.transaction.RollbackException: Prepare: NO vote atomikos版本3.9.3
解决方式:在application.properties文件中
# 默认的超时时间单位毫秒
spring.jta.atomikos.properties.default-jta-timeout=30000000
spring.jta.atomikos.properties.max-timeout=3000000
#配置最大的事务活动个数,-1代表无限制(atomikos版本3.9.3)
spring.jta.atomikos.properties.max-actives=-1
可参考:https://blog.csdn.net/u011042955/article/details/86998664
可参考:http://blog.jobbole.com/95632/
https://sylvanassun.github.io/2016/08/01/2016-08-1-Spring-data-transaction/
https://blog.csdn.net/cckevincyh/article/details/79189888
https://blog.csdn.net/catoop/article/details/50595702
http://www.cnblogs.com/zengkefu/p/5742617.html
SpringBoot 多数据源分布式事务的更多相关文章
- Springboot入门之分布式事务管理
springboot默认集成事务,只主要在方法上加上@Transactional即可. 分布式事务一种情况是针对多数据源,解决方案这里使用springboot+jta+atomikos来解决 一.po ...
- Spring Boot2.0之多数据源分布式事务问题
分布式事务解决方案的问题, 分布式事务产生的原因: 多个不同的服务连接不同的数据源 ,做分布式事务的管理. 这种情况是连接两个数据源的情况,然后事务管理器是这样的 只管理了test02的这端业务代码. ...
- spring多数据源分布式事务的分析与解决方案
一.概述 1.业务背景 对老系统进行重构合并,导致新系统需要同时对3个数据库进行管理.由于出现跨库业务,需要实现分布式事务. 2.开发环境 spring框架版本 4.3.10.RELEASE 持久层 ...
- springboot多数据源+jta事务管理配置
1.创建一个maven项目,导入相关配置: <?xml version="1.0" encoding="UTF-8"?> <project x ...
- SpringBoot多数据源配置事务
除了消费降级,这将会是娱乐继续下沉的一年. 36氪从多个信源处获悉,资讯阅读应用趣头条已经完成了腾讯领投的Pre-IPO轮融资,交易金额预计达上亿美元,本轮融资估值在13-15亿美金之间:完成此轮融资 ...
- SpringBoot多数据源中的分布式事务
虽然现在微服务越来越流行,我们的系统随之也拆分出来好多的模块功能.这样做的目的其实就是为了弥补单体架构中存在的不足.随着微服务的拆分,肯定设计到分库分表,但这之中肯定设计到分布式事务.最典型的例子就是 ...
- springboot整合多数据源解决分布式事务
一.前言 springboot整合多数据源解决分布式事务. 1.多数据源采用分包策略 2.全局分布式事务管理:jta-atomikos. ...
- 3分钟搞定SpringBoot+Mybatis+druid多数据源和分布式事务
文章来自: https://blog.csdn.net/qq_29242877/article/details/79033287 在一些复杂的应用开发中,一个应用可能会涉及到连接多个数据源,所谓多数据 ...
- spring boot + druid + mybatis + atomikos 多数据源配置 并支持分布式事务
文章目录 一.综述 1.1 项目说明 1.2 项目结构 二.配置多数据源并支持分布式事务 2.1 导入基本依赖 2.2 在yml中配置多数据源信息 2.3 进行多数据源的配置 三.整合结果测试 3.1 ...
随机推荐
- Python使用turtle库与random库绘制雪花
记录Python使用turtle库与random库绘制雪花,代码非常容易理解,画着玩玩还是可以的. 完整代码如下: 效果图如下:
- jdk安装及配置
点击jdk文件运行 安装完成后的目录: 2,在系统变量下面配置 JAVA_HOME:你自己的jdk的路径 CLASSPATH= .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME% ...
- js变速动画函数封装 回调函数及层级还有透明度
//点击按钮,改变宽度到达一个目标值,高度到达一个目标值 //获取任意一个元素的任意一个属性的当前的值---当前属性的位置值 function getStyle(element, attr) { re ...
- docker之常用命令、自定制镜像、公(私)仓库的上传和下载
一.docker命令 1.参数和命令汇总 1. 参数 Options: --config=~/.docker Location of client config files #客户端配置文件的位置 - ...
- 2.8 hashlib模块
- Springboot 6.Springboot 返回cookies信息的验证和post接口开发及常见错误解决
在介绍之前先将一个小插件:lombok ,在prefrence里面点击plugins,然后搜索lombok,进行install就可以了 首先将pom文件里面的lombok引进来 <depend ...
- MySQL 导入导出数据库、表
使用 GUI 软件很好操作,下面介绍命令行操作. 导出 cmd 命令 # 1.1 导出整个数据库 mysqldump -hlocalhost -uroot -p student_db > C:\ ...
- org.hibernate.ObjectNotFoundException: No row with the given identifier exists解决办法
hibernate-取消关联外键引用数据丢失抛异常的设置@NotFound hibernate项目里面配了很多many-to-one的关联,后台在查询数据时已经作了健全性判断,但还是经常抛出对象找不到 ...
- array_slice()函数造成的一次sql注入
HDwiki6.0 sql注入 下载连接http://kaiyuan.hoodong.com/download/ 漏洞出现在\control\edition.php的docompare()函数 !de ...
- ES6 数组遍历方法的实战用法总结(forEach,every,some,map,filter,reduce,reduceRight,indexOf,lastIndexOf)
目录 forEach every some map filter reduce && reduceRight indexOf lastIndexOf 前言 ES6原生语法中提供了非常多 ...