seata神坑,enableAutoDataSourceProxy无法关闭
最近在使用seata和alibaba springcloud
因为需要做数据源动态切换,所以不让seata做数据源代理,而是自己配置bean。
@Bean("dataSourceProxy")@Primarypublic DataSourceProxy dataSourceProxy(@Qualifier("routingDataSource") DataSource routingDataSource) {return new DataSourceProxy(routingDataSource);}
但是会在启动时出错:
io.seata.common.exception.ShouldNeverHappenException: Auto proxy of DataSource can't be enabled as you've created a DataSourceProxy bean.Please consider removing DataSourceProxy bean or disabling auto proxy of DataSource.
这就是个自动代理数据源导致的,照理说关掉就可以了,网上各种说法都是在启动类加上注解:
@SpringBootApplication(exclude= {DataSourceAutoConfiguration.class})
然而并没有什么用,我用的是durid连接池,所以把DruidDataSourceAutoConfigure.class
也exclude了,但是还是没用。
后面看了下源码,是通过读取yml配置的,神坑就在这里,正常配置:
#seata配置
seata:enabled: trueenable-auto-data-source-proxy: false
这里的enable-auto-data-source-proxy就是表示不使用自动代理数据源,但是一直无效,最后在源码SeataAutoConfiguration
中发现,这种写法是不生效的,需要写成:
#seata配置
seata:enabled: trueenableAutoDataSourceProxy: false
。。。。。。。。!!
seata神坑,enableAutoDataSourceProxy无法关闭相关推荐
- spring cloud 集成 seata 分布式事务
spring cloud 集成 seata 分布式事务 基于 seata-server 1.6.x 序言 下载 seata-server 准备一个数据库 seata 专门为 seata-server ...
- seata的部署和集成
一.部署Seata的tc-server 1.下载 首先我们要下载seata-server包,地址在http://seata.io/zh-cn/blog/download.html 当然,课前资料也准备 ...
- seata的部署与微服务集成(包含多集群异地容灾配置)
seata的部署与微服务集成 一.部署Seata的tc-server 1.下载与安装 2.配置文件详细讲解 3.创建数据库表 4.启动 二.微服务集成seata 1.引入依赖 2.修改配置文件 3.启 ...
- Springcloud+Seata+nacos 分布式事务项目搭建 AT模式
前言 本文要求对Springcloud有一定了解,对分布式事务本身有一定认知,如果不了解微服务,建议先看看Spring Cloud的基本认识和使用Spring Cloud的基本教程,再回头学习本文 为 ...
- 分布式事务框架Seata的使用
1. 分布式事务入门 事务必须具有的四个特性分别是:原子性(atomicity).一致性(consistency).隔离性(isolation,又称独立性)以及持久性(durability).这就是事 ...
- 【学习笔记】seata快速应用(seata版本1.4.2)
1.先下载seata 下载中心 2.解压得到如下结构 3.修改conf目录下的registry.conf文件 修改内容如下: registry { # tc服务的注册中心类,这里选择nacos,也 ...
- 使用Seata解决分布式事务以及Seata的安装、配置和使用
目录 事务的介绍 什么是本地事务? 分布式事务 分布式事务解决方案之seata Seata介绍 Seata是什么 Seata的分布式事务解决方案 Seata的核心组件 AT模式的工作流程 一阶段 二阶 ...
- seata安装、使用、测试和分布式事务演示
分布式事务 随着互联网的快速发展,软件系统由原来的单体应用转变为分布式应用 分布式系统会把一个应用系统拆分为可独立部署的多个服务,因此需要服务与服务之间远程协作才能完成事务操作,这种分布式系统环境下由 ...
- MySQL(十一):分库分表方案-ShardingSphere
Sharding-JDBC Sharding-JDBC定位为轻量级Java框架,在Java的JDBC层提供的额外服务.可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM 框架的使用 Shard ...
最新文章
- 使用cat /proc/进程id/maps 查看进程内存映射
- R语言使用ggplot2可视化互相覆盖的直方图实战(Overlaying histograms)
- 005 Android之数据存储
- 【面试】编译器为我们实现了几个类成员函数?(c++)
- 改善EF代码的方法(下)
- OpenGL 深度测试depth test 的实例
- [网络安全提高篇] 一一〇.强网杯CTF的Web Write-Up(上) 寻宝、赌徒、EasyWeb、pop_master
- SpringBoot项目使用微服务后在Service窗口启动应用后不显示端口号
- 数据库:mysql 获取刚插入行id[转]
- 共话5G产业创新 5G+视频彩铃产业联盟成立
- 团队作业4——第一次项目冲刺(Alpha版本)4.23
- C#仿““狗屁不通文章生成器””功能
- 莫烦python学习笔记
- 什么是拖库,撞库和洗库
- less css基础教程
- WPCMS插件自动采集发布文章WordPress插件
- 微信公众号批量打标签的自动化实现方法
- hive 数据类型 java_Hive数据类型
- 我在MTK平台下调试音频ALSA
- 批量部署stg Pool到生产脚本