搞懂TomcatJdbc之连接校验
在Tomcat中配置JDBC连接池时,可以通过添加testOnBorrow
, testOnReturn
, testWhileIdle
等属性来设置连接的验证规则。以下是一个配置示例,展示了如何设置这些属性:
<Resource name="jdbc/MyDB"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
testOnBorrow="true"
testOnReturn="false"
testWhileIdle="true"
validationQuery="SELECT 1"
validationInterval="30000"
timeBetweenEvictionRunsMillis="30000"
maxActive="100"
minIdle="10"
maxIdle="50"
maxWait="10000"
initialSize="10"
removeAbandonedTimeout="60"
removeAbandoned="true"
logAbandoned="false"
username="mydb_user"
password="mydb_pass"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mydb"/>
在这个配置中:
testOnBorrow
: 当从连接池中借用连接时是否验证该连接。testOnReturn
: 当返回连接到连接池时是否验证该连接。testWhileIdle
: 当连接空闲时是否验证该连接。validationQuery
: 用于验证的SQL查询语句。validationInterval
: 验证操作的时间间隔。timeBetweenEvictionRunsMillis
: 空闲连接回收器运行之间的时间间隔。
这些属性的设置可以帮助确保连接池中的连接是有效的,并且可以被成功地用来执行数据库操作。如果设置为true
,Tomcat将会在适当的时间点执行这些验证查询来确保连接的有效性。
评论已关闭