oracle集成高可用方案后Java程序无法自动重连记录

背景:
最近公司升级oracle数据库,源数据库版本oracle10,升级数据库版本oracle12c.2。升级数据库后做了双节点的高可用,在测试应用程序是否可以顺利兼容高可用的时候,发现停掉第一节点,只运行第二节点,程序无法自动连接切换为2节点的数据库。
原因:
经过排查发现,我的应用在配置数据源配置的时候没有配置回收连接池里超时的连接。由于我的应用有很多,有的使用SSM架构,有的使用springboot架构。所有在不同的项目参数配置文件里增加以下代码即可解决问题。

#是否在自动回收超时连接的时候打印连接的超时错误
spring.datasource.log-abandoned=true
#是否自动回收超时连接
spring.datasource.remove-abandoned=true
#超时时间(以秒数为单位)
spring.datasource.remove-abandoned-timeout=180
#检测数据库的查询语句
spring.datasource.validation-query=select 1 from dual
spring.datasource.test-on-borrow=true

以上为springboot使用代码,如果想在SSM或者其他框架内使用,换成相应框架的配置格式即可。

oracle12c中连接数据库格式:
jdbc:oracle:this:@//192.169.1.2:1521/cis

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值