Код выполняется некоторое время, а затем выдает сообщение об отказе канала связи Исключение MySQL - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть код Scala, использующий scalalikejdbc для подключения и выполнения INSERT в 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);

Любая причина, по которой это происходити как мне это решить?

1 Ответ

0 голосов
/ 01 октября 2018

Я нашел решение, я открывал новое соединение перед вставкой и закрывал его после INSERT.Возможно, это вызывало узкое место из-за слишком большого числа запросов INSERT один за другим.

Разрешение: я открыл только одно соединение и добавил его в ConnectionPool и использовал одно и то же соединение для каждого INSERT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...