Mysql 在填充过程中与应用程序断开连接

问题描述 投票:0回答:2

最近我入手了 mac m1 我正在运行一个通过自制程序安装的使用[电子邮件受保护]的产品,该产品的数据已成功连接到mysql并开始填充,但接近填充结束时,mysql出现连接问题,并在从池中获取连接期间显示异常我使用 mac m1 和 mysql5.6

错误如下

java.sql.SQLException:java.lang.Exception:从池中获取连接期间出现异常从数据源获取连接期间发生异常

这不会发生在产品启动时,而是发生在 80% 的人群中。

java mysql tomcat jdbc
2个回答
0
投票

检查MySQL配置文件中的max_connections。它根据您的应用程序的需求管理同时连接的数量。


0
投票

连接池为您提供一定数量(配置的、最大)的数据库连接。

假设是:当您完成连接后,您将把它返回到池中。这可能是由垃圾收集器隐式完成的,但对于长时间运行的进程,不能保证垃圾收集器在您的例程期间运行。

如果您的代码像糖果一样使用连接并且从不返回它们(通常通过

connection.close()
),或者为每个操作使用新连接而不是重用单个连接,则您可以快速耗尽连接池。这称为“资源泄漏”。

增加可用连接的数量(如其他答案中所建议的)可能可以帮助您现在,但稍后当您的例程向数据库中填充更多数据时,如果这些例程仍然无法正常工作,则会再次失败连接。

由于您既不提供配置详细信息,也不提供代码,因此只能给出尽可能多的答案。

© www.soinside.com 2019 - 2024. All rights reserved.