我刚刚开始使用BoneCP,并从作者站点提取了样例JDBC代码。
我有一个名为getConnection()的函数,它返回一个连接,下面是一个代码片段:
// setup the connection pool
BoneCPConfig config = new BoneCPConfig();
// Config goes here.
connectionPool = new BoneCP(config); // setup the connection pool
return connectionPool.getConnection(); // fetch a connection现在,我的问题是: 1)当我使用完从上面函数返回的连接时,我调用connection.close(),以便它返回到池中,还是这样做完全关闭了连接?如何将连接返回到池?
2)如何在应用退出时清理池?当我完成的时候,我调用connectionPool.shutdown()吗?另外,我在某处读到我需要单独关闭所有池连接?这是真的吗?
谢谢。
发布于 2012-02-17 21:16:03
1.当您使用完连接时,总是调用connection.close()将连接返回到池(它不会物理上关闭)。
2.当您完全用完池并且不打算再次重新连接时,调用connectionPool.shutDown()。
发布于 2013-09-28 12:55:09
Connection connection = dbPool.getConnection();从池中获取的Connection对象是一个包装类。即使在Exception中,它也会正确地维护底层连接。
例如,即使在与连接相关的异常中,TERMINATE_ALL_CONNECTIONS,BoneCP池也会正确地关闭所有底层连接。
总之,BoneCP池使缓存变得透明。客户端只需要遵循看台流程,
语句(如果是statements
当应用程序停止时,关闭池以释放所有缓存的连接。
boneCP.shutdown()https://stackoverflow.com/questions/9327764
复制相似问题