Я считал этот совет из сообщения об ошибке:
Необходимо рассмотреть или истекающую и/или тестирующую законность соединения, прежде чем использование в приложении, увеличивая сервер настроило значения для клиентских тайм-аутов, или с помощью свойства соединения Connector/J 'autoReconnect=true' для предотвращения этой проблемы.
Я использую Spring и JPA. Где я должен настроить Connector/J? (в persistence.xml
, или в entityManagerFactory
пружинная конфигурация, или в dateSource
пружинная конфигурация, или где-то в другом месте?)
Текст описывает три решения для предотвращения прерывания соединения:
Настройте строку соединения с помощью autoReconnect=true
. Это свойство строки соединения URL, которая работает на уровне драйвера. Вам необходимо изменить строку соединения в конфигурации источника данных.
url="jdbc:mysql://localhost:3306/confluence?autoReconnect=true".
Увеличьте тайм-аут. Обычно это свойство базы данных. Вы можете увеличить это значение, чтобы увидеть, если вы получите меньше прерывания соединения.
Настройте пул соединений для проверки валидности соединения. Это делается на уровне пула, а не на уровне драйвера. Это будет зависеть от реализации источника данных, который вы используете. Но она должна быть настраиваемой в свойстве источника данных, если вы используете пул, например c3p0.
Добавочные комментарии: