Что означает Сломанный канал, исключающий использование c3p0 и Hibernate - PullRequest
0 голосов
/ 13 декабря 2011

Исключение составляет:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was45569 milliseconds ago.The last packet sent successfully to the server was 45569 milliseconds ago, which is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.

Ответы [ 2 ]

2 голосов
/ 02 января 2012

Что, вероятно, происходит, так это то, что соединение в пуле C3P0 закрыто MySQL, потому что оно остается открытым дольше, чем interactive_timeout (http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_interactive_timeout)

. Вероятно, вам нужно настроить c3p0 для тестирования соединения, как описано выше)здесь: http://www.mchange.com/projects/c3p0/index.html#configuring_connection_testing

1 голос
/ 13 декабря 2011

Это означает, что сетевое соединение между приложением и базой данных было разорвано.

Это может происходить по разным причинам (сбой сети или тайм-аут соединения).Последнее предложение в основном о том, как решить проблему.

Либо вы можете попытаться изменить настройки, чтобы сделать подключение менее подверженным отказу / разъединению, либо настроить драйвер JDBC для обработки сбоя / отключения и повторного подключения автоматически.

Примечание. Не следует напрямую удерживать соединение в течение длительного периода времени.Получите соединение из пула, используйте его и верните обратно в пул.Пул управляет соединениями для вас.

...