MySQL закроет свободные соединения через 8 часов по умолчанию (wait_timeout
). Это «известная проблема», и вы найдете много ссылок на нее в Интернете, например эта . Так что либо:
настроить tomcat для тестирования соединений по заимствованию, используя validationQuery
в конфигурации источника данных:
<parameter>
<name>validationQuery</name>
<value>select 1</value>
</parameter>
увеличить MySQL wait_timeout
с помощью my.cnf/my.ini
, либо путем подключения к клиенту командной строки SQL и ввода SET GLOBAL wait_timeout=86400
, либо другого подходящего количества секунд.
Обратите внимание, что я не в курсе всех последствий второго варианта. Если вы решите пойти вторым путем, я бы предложил опубликовать еще один вопрос, чтобы получить отзывы экспертов MySQL.