У меня настроен экземпляр tomcat, но соединение с базой данных, которое я настроил в context.xml
, продолжает умирать после периодов бездействия.
Когда я проверяю логи, я получаю следующую ошибку:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:
Последний пакет успешно получен с сервера: 68051 секунда
тому назад. Последний пакет успешно отправлен на сервер 68051 секунд
назад, что больше, чем настроенное сервером значение
'Wait_timeout. Вы должны рассмотреть возможность истечения срока действия и / или тестирования
срок действия соединения перед использованием в вашем приложении, увеличивая
сервер настроил значения для времени ожидания клиента или с помощью Connector / J
свойство соединения 'autoReconnect = true', чтобы избежать этой проблемы.
Вот конфигурация в context.xml:
<Resource name="dataSourceName"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="username"
password="********"
removeAbandoned = "true"
logAbandoned = "true"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/databasename?autoReconnect=true&useEncoding=true&characterEncoding=UTF-8" />
Я использую autoReconnect=true
, как говорит ошибка, но соединение продолжает умирать. Я никогда не видел, чтобы это случилось раньше.
Я также проверил, что все соединения с базой данных закрыты должным образом.