使用了Tomcat JDBC连接池不能重连的问题
2024-08-30 16:20:03
在项目中用到了tomcat 的jdbc连接池,发现一个问题是,当数据库重启时,服务没有重新的去连接数据库,需要将部署的项目重新启动才能连接到数据库。经过测试对配置做一下修改:
在配置dataSource的地方加入两个配置属性:
<property name="testOnBorrow" value="true"/>
<!--在连接返回给调用者前用于校验连接是否有效的SQL语句,如果指定了SQL语句,则必须为一个SELECT语句,且至少有一行结果-->
<property name="validationQuery" value="select 1"/>
如下图:
<bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource" destroy-method="close">
<!-- Connection Info -->
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="maxActive" value="${jdbc.pool.maxActive}" />
<property name="maxIdle" value="${jdbc.pool.maxIdle}" />
<property name="minIdle" value="0" />
<property name="defaultAutoCommit" value="false" />
<!-- 连接Idle10分钟后超时,每1分钟检查一次 -->
<property name="timeBetweenEvictionRunsMillis" value="60000" />
<property name="minEvictableIdleTimeMillis" value="600000" />
<property name="testOnBorrow" value="true"/>
<!--在连接返回给调用者前用于校验连接是否有效的SQL语句,如果指定了SQL语句,则必须为一个SELECT语句,且至少有一行结果-->
<property name="validationQuery" value="select 1"/>
</bean>
最新文章
- 数据结构 浙大MOOC 笔记二 线性结构
- 对接第三方支付接口-获取http中的返回参数
- mac 快捷键大全
- Mysql分区简述
- [Compose] 21. Apply Natural Transformations in everyday work
- hiho42 : 骨牌覆盖问题&#183;二
- JS初识(着重讲解Date函数)
- BigDecimal除法
- MongoDB中ObjectId的误区,以及引起的一系列问题
- Python学习笔记6-Python中re(正则表达式)模块学习
- sofa-pbrpc 1.1.1 发布,RPC 网络通信库
- php 上传文件 $_FILES[&#39;&#39;][&#39;type&#39;]的值
- Java多线程基础——Lock类
- EXISTS/NOT EXISTS CASE WHEN等使用方法
- 【Android】打开本地的html文件
- c++ std::advance
- PHP原生处理select结果集的函数介绍
- sql 的一些总结
- BizTalk RosettaNet解决方案之Loopback
- noip第20课资料