日期:2014-05-18  浏览次数:20706 次

使用DBCP做为连接池,如何让打开很久的链接释放,从新进入闲职状态,着急?
比如,由于一些异常,或者其它的问题。一些连接打开以后长时间占用。连接池中可用的链接数量减少,能否有一个对打开的链接有一个时间上的限制,超过一定时间,活动的链接自动关闭

------解决方案--------------------
既然是活动的,你又怎么关闭呢?这样不是会有问题么.

而且怎么会发生长时间处于活动的事务呢?这样.程序应该需要改进啊.
------解决方案--------------------
程序这里不要直接用DBCP,而是用DataSource, 你只要负责getConnection、用完close(它并不会直接关闭物理连接)

现在DS通常都是服务器端配置,或者有现成的方案,管理maxActive/maxIdle/maxWait之类,而它们中很多其实就是在管理你用的DBCP