【发布时间】:2016-11-28 22:46:35
【问题描述】:
我正在编写一个 Java 数据库程序,在这个程序中我有一个循环,它调用大约 6 个方法,在每个方法中,一个与 MySQL 的连接独立于其他连接建立,以返回一个布尔值,while 循环运行20 次(行数为 20),因此在该循环中建立了 (6*20=120) 连接,问题是,在第 14 次或第 19 次迭代之后,我从 MySQL 收到此错误:
Exception in thread "main" java.lang.NullPointerException
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
还有这个:at project_2.Reserve.inLarge(Reserve.java:116)
第 116 行包含:
Statement s = c.createStatement();
其中 c 是连接类型(即 MySQL Java 连接类型)。
每个函数都会创建一个名为 c 的连接及其自己的语句。
我在 MySQL 方面没有经验,所以我希望有人会告诉我这是一种糟糕的做法,然后对我大喊大叫……开玩笑,谢谢你的帮助。
我也尝试添加 thread.sleep 来延迟事情,但没有奏效。
【问题讨论】:
-
显示相关代码会很有帮助,例如“每个函数如何创建一个名为 c 的连接”,但即使在你这样做之前,我也会说,正如你所怀疑的那样,这不是一个好方法做这种事。
-
@rmlan 感谢您的回复,我发现了问题,我将其发布为答案。