【SpringBoot】多数据源事务卡死@DSTransactional,当某一个数据库挂掉了,系统卡死问题解决
·
记录最近发生并解决的一个问题
原因
在一个事务内,操作多个数据库,当其中一个数据库挂掉后,默认无限重连,导致事务无法正常结束,导致系统卡死
解决
将无限重连改成有限次数即可
datasource:
db1:
driver-class-name: oracle.jdbc.driver.OracleDriver
url: jdbc:oracle:thin:@//ip:1521/ORCL
username: 账号
password: 密码
druid:
breakAfterAcquireFailure: true
connectionErrorRetryAttempts: 5
db2:
driver-class-name: oracle.jdbc.driver.OracleDriver
url: jdbc:oracle:thin:@//ip:1521/ORCL
username: 账号
password: 密码
druid:
breakAfterAcquireFailure: true
connectionErrorRetryAttempts: 5
看下源码,DruidDataSourceCreator

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)