java为什么几次之后数据库连接失败 2 月,4 周 Questions & Answers 261 我使用MYSQL数据库和基本JDBC连接池来连接数据库。应用程序部署在tomcat服务器中。经过几次操作后,数据库连接将变为null 谁能告诉我原因吗
# 1 楼答案 发生这种情况的原因有几个: 使用完Connection资源后,不调用close()。这可能会导致您的连接池在所有Connection已分发且未关闭后耗尽李> 多次调用close()您的Connection资源。关闭Connection会将其返回到池中,以便另一个线程可以获取它。如果您第二次调用close(),那么您现在已经为另一个线程关闭了它李> 您的代码实际上是将Connection实例设置为null某处李> 你让一个Connection资源长时间处于打开和空闲状态,它正在超时。如果您的代码在查询之间有一些长时间运行的操作,请考虑关闭^ {< CD2}}并在查询之间获得新的。李> 数据库服务器出于某种原因关闭了您的连接,而您的连接池对此一无所知。为了缓解这种情况,您可以将连接池配置为在借用时进行测试。这将基本上在连接上发出一个测试查询,以确保它在移交给应用程序之前处于活动状态。注意:那里有一些开销李>
# 1 楼答案
发生这种情况的原因有几个:
Connection
资源后,不调用close()
。这可能会导致您的连接池在所有Connection
已分发且未关闭后耗尽李>close()
您的Connection
资源。关闭Connection
会将其返回到池中,以便另一个线程可以获取它。如果您第二次调用close()
,那么您现在已经为另一个线程关闭了它李>Connection
实例设置为null
某处李>Connection
资源长时间处于打开和空闲状态,它正在超时。如果您的代码在查询之间有一些长时间运行的操作,请考虑关闭^ {< CD2}}并在查询之间获得新的。李>