代码运行一段时间然后抛出通信 link 失败异常 MySQL
Code runs for sometime and then throws Communications link failure Exception MySQL
我有一个 Scala 代码,使用 scalalikejdbc 连接并插入 MySQL。代码 可以正常运行大约 2-3 小时 然后抛出
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
我的连接设置如下:
val url = "jdbc:mysql://www.domain.com:3306/schema";
val settings = ConnectionPoolSettings(
initialSize = 1,
maxSize = 2,
connectionTimeoutMillis = 100000L,
validationQuery = "select 1 from dual");
ConnectionPool.add('dbval, url, username, pwd, settings);
发生这种情况的原因是什么?我该如何解决?
我找到了解决方案,我在插入之前打开一个新连接并在插入之后关闭它。这可能会导致某种瓶颈,因为太多的 INSERT 查询一个接一个地进行。
解决方案:我只打开了一个连接并将其添加到 ConnectionPool 并为每个 INSERT 使用相同的连接。
我有一个 Scala 代码,使用 scalalikejdbc 连接并插入 MySQL。代码 可以正常运行大约 2-3 小时 然后抛出
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
我的连接设置如下:
val url = "jdbc:mysql://www.domain.com:3306/schema";
val settings = ConnectionPoolSettings(
initialSize = 1,
maxSize = 2,
connectionTimeoutMillis = 100000L,
validationQuery = "select 1 from dual");
ConnectionPool.add('dbval, url, username, pwd, settings);
发生这种情况的原因是什么?我该如何解决?
我找到了解决方案,我在插入之前打开一个新连接并在插入之后关闭它。这可能会导致某种瓶颈,因为太多的 INSERT 查询一个接一个地进行。
解决方案:我只打开了一个连接并将其添加到 ConnectionPool 并为每个 INSERT 使用相同的连接。