有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为什么几次之后数据库连接失败

我使用MYSQL数据库和基本JDBC连接池来连接数据库。应用程序部署在tomcat服务器中。经过几次操作后,数据库连接将变为null

谁能告诉我原因吗


共 (1) 个答案

  1. # 1 楼答案

    发生这种情况的原因有几个:

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