【发布时间】:2019-07-01 08:31:48
【问题描述】:
我的工作电脑有一个奇怪的问题,也许你可以解决问题。我目前正在 jee 中开发,但我遇到了有关 MySQL DB 的问题。
假设我有这个:
for(int i = 0; i<20; i++)
{
//Simple select query on my MySQL DB
System.out.println("foo");
}
我的输出是:
富,富,富,富
如您所见,不知何故,我的 for 循环在 4 次迭代处停止。 但是经过长时间的调试后,我发现 getConnection() 不知何故卡在了一个线程中,即使等待了 2 个小时,它仍然被阻塞。然而,问题更加复杂,因为它不会每次都在同一个 getConnection() 上崩溃。
我的旧项目也不起作用,所以我想这不是代码问题。我尝试重新安装 Eclipse,WampServer,更改为 Java 1.7(我目前是 1.8),尝试了 tomcat 9(我目前是 tomcat 8),我已经删除并重新导入了一个全新的数据库,以防万一有一些损坏的数据。尝试了一个新项目的新工作区,我还更新了我在构建路径和运行时中使用的库和 jar。
但它仍然不起作用,而且变得非常非常令人沮丧。因此,如果您有任何想法,请告诉我。
【问题讨论】:
-
MySQL 日志中有什么内容?查询的形式是什么?会不会很慢?在等待查询时,
SHOW PROCESSLIST在服务器上显示什么? -
您需要展示更多代码——如何(以及何时)创建连接,以及如何释放它。可能是您正在耗尽连接池。
标签: mysql eclipse tomcat jakarta-ee wamp