Я запускаю Spring Загрузка подключения к базе данных PostgreSQL. Я проверил, что данные записываются в базу данных, если Spring Загрузка начинается после базы данных.
spring.datasource.url = jdbc:postgresql://localhost/dbname
spring.datasource.username = user
spring.datasource.password = secret
spring.datasource.driver-class-name = org.postgresql.Driver
spring.datasource.testOnBorrow=true
spring.datasource.validationQuery=SELECT 1
Когда происходят изменения в базе данных при разработке, я сталкиваюсь с исключениями:
PreparedStatementCallback; SQL []; This connection has been closed.; nested exception is org.postgresql.util.PSQLException: This connection has been closed.
Обратите внимание, что база данных доступна снова, когда происходят исключения; Я думаю, проблема в том, что соединение устарело, потому что конечная точка базы данных, из которой она первоначально была подключена, больше не доступна из-за перезапуска. Перезапуск Spring Загрузка устраняет проблему.
Как настроить Spring Boot для повторного подключения к PostgreSQL, чтобы мне не нужно было перезапускать его?
Я попытался выполнить ответы в Spring Boot JPA - настройка автоматического повторного подключения и Как подключить базу данных, если соединение закрыто в Spring jpa?. Я не уверен, отличается ли поведение PostgreSQL от MySQL. Мое чтение Spring загрузочной документации не помогло; Я не знаю, какие компоненты описаны достаточно хорошо, чтобы понять, на какую документацию я должен смотреть.