java.net. SocketException: Поврежденный канал

Я получаю эту ошибку или мою jsp страницу каждый день:

java.net.SocketException

СООБЩЕНИЕ: Поврежденный канал

STACKTRACE:

java.net.SocketException: Broken pipe
        at java.net.SocketOutputStream.socketWrite0(Native Method)
        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
        at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
        at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
        at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
        at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2637)
        ....

После перезапуска сервиса кота это хорошо работает. (Я использую, в спящем режиме для соединения с mysql базой данных),

9
задан BalusC 22 July 2010 в 12:27
поделиться

2 ответа

Похоже, вы (частично) потеряете соединение с базой данных. MySQL пытается что-то отправить, но соединение потеряно.

Другой пользователь mysql / tomcat, сообщивший о похожей проблеме, посоветовал использовать пул соединений, например c3p0 . Пользователь ответил, что хочет сначала использовать пул соединений Mysql / tomcat, как описано в справочном руководстве mysqls .

Это оригинальный пост (на немецком языке) .

1
ответ дан 4 December 2019 в 11:39
поделиться

Я получаю эту ошибку или мою страницу JSP каждый день (...)

Я собираюсь немного порассуждать, но если это происходит каждое утро (то есть после ночи бездействия) , то это может быть связано с тем, что MySQL по умолчанию закрывает неактивные соединения через 8 часов ( wait_timeout ).

Если это так, либо:

  • настройте tomcat для проверки соединений при заимствовании, используя validationQuery в конфигурации источника данных:

     <параметр>
      validationQuery 
      выберите 1 
    
    
  • увеличьте MySQL wait_timeout через my.cnf / my.ini или подключившись с помощью SQL-клиента командной строки и введя SET GLOBAL wait_timeout = 86400 , или другое подходящее количество секунд.

Я не осведомлен обо всех последствиях второго варианта и не рекомендую его, по крайней мере, без получения дополнительных отзывов от экспертов MySQL.

17
ответ дан 4 December 2019 в 11:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: