本文仅讨论使用连接池的情况:

在很多场合都碰到有人提问: 第二天第一次访问应用,总是报连接已经关闭(Connection Close)

其实,数据库连接池大都已经考虑了这个问题,进行设置一下即可:

Apache DBCP:

dataSource.setValidationQuery('select 1');

C3po:

dataSource.setTestConnectionOnCheckout(true);
dataSource.setPreferredTestQuery('select 1')

Proxool:

dataSource.setTestBeforeUse(true);
dataSource.setHouseKeepingTestSql('select 1')

Bonecp: 找不到对应的属性,不过可以配置连接的最大空闲时间

其实原来也就这么简单,返回连接给用户之前,先执行一条简单无害快速的SQL



blog comments powered by Disqus

Published

2011-08-13 21:31:59

Categories


Tags

Fork me on GitHub