我想使用PoolingDataSource作为我的连接池(API位于:http://commons.apache.org/dbcp/apidocs/org/apache/commons/dbcp/PoolingDataSource.html),但是当我不再需要它时,我不知道如何处理该池。如果我想连接到新数据库并且不再需要旧池中的连接,该怎么办?游泳池没有密切的方法。
答案 0 :(得分:3)
您不一定需要杀死此池才能创建新池。
您可以使用maxIdle,timeBetweenEvictionRunsMillis和minEvictableIdleTimeMillis参数(请参阅here)管理其中的连接,以确保在合理的时间内关闭空闲连接。
或者您可以以编程方式配置GenericObjectPool这些参数,并在创建PoolingDataSource时使用。如果你想强制它,那就有一个close()方法。
答案 1 :(得分:2)
很抱歉没有直接回答您的问题,但我可以建议不使用DBCP吗?它有许多严重的问题,其他图书馆从中学习和改进。
答案 2 :(得分:1)
您使用的是哪种游泳池?如果你正在使用AbandonedObjectPool,那么它是Commons Pool的GenericObjectPool的子类,它有close()方法。