BasicDataSource设置connection自动重连

本文介绍如何在SpringMVC项目中配置DBCPBasicDataSource数据源以实现长session下连接的有效性检查及自动重连机制。通过简单的配置示例说明如何设置validationQuery属性确保连接可用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

近期项目使用SpringMVC,并配置DBCP BasicDataSource作为数据源。因特殊需求,web session的有效时间需要设置为很长,导致有可能DB connection会被mysql回收,所以需要配置DBCP可以在执行sql前检查connection的有效性,如已失效,希望能获得一个新的有效connection(自动重连)。

 

已有配置(最简化):

<!-- DataSource -->

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"

destroy-method="close">

<property name="driverClassName" value="com.mysql.jdbc.Driver" />

<property name="url" value="${jdbc.url}" />

<property name="username" value="${jdbc.username}" />

<property name="password" value="${jdbc.password}" />

</bean>

 

只需添加如下一个新的属性即可,

<property name= "validationQuery" value="select 1" />  <!-- validate the connection before executing query, if it's invalid, the connect will be rebuild by DBCP -->

 

具体可参考Apache commons DBCP 配置 http://commons.apache.org/proper/commons-dbcp/configuration.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值