我正在运行连接到PostgreSQL数据库的Spring Boot。我已经验证了,如果在数据库之后启动Spring Boot,数据会写入数据库。
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[];此连接已关闭。;嵌套异常为org.postgresql.util.psqlexception:此连接已关闭。
请注意,当发生异常时,可以再次访问数据库;我认为问题是连接陈旧,因为它最初连接到的数据库endpoint由于重新启动而不再可用。重新启动Spring Boot解决了这个问题。
Spring boot应该配置为自动重新连接,问题是它没有意识到断开的连接。
由于您已经在使用借入测试和验证查询,所以只需尝试减少验证间隔,以便每次都执行验证。
spring.datasource.tomcat.test-on-borrow=true
spring.datasource.tomcat.validation-query=SELECT 1
spring.datasource.tomcat.validation-interval=0
testonborrow
上的Tomcat jdbc连接池:
下面是我到目前为止的代码: 有人能解释一下在和情况下我该做什么吗?以及如何知道网络已断开并重新连接?
问题:当我的spring应用程序运行时,同时数据库服务器停止/重新启动,然后db连接丢失并且从未恢复。 com.mysql.jdbc.exceptions.jdbc4.mysqlnontransientConnectionException:连接关闭后不允许任何操作。 服务mysql启动 问题:如何告诉spring在连接丢失后自动重新连接? 这是我的配置:
问题内容: 我有一个客户端,一个服务器和一个数据库。客户端通过EJB远程接口与服务器通信。作为服务器-我使用Wildfly 8.2.0。作为数据库- 我使用MySQL。服务器通过JPA /休眠与MySQL通信。当我关闭MySQL服务器时,Wildfly当然会引发异常。但是,当我再次打开MySQL时- Wildfly仍然会抛出相同的错误。我必须关闭Wildfly,然后重新将Wildfly重新连接到数
我有一个Spring Boot应用程序,我使用ElasticsearchTemplate连接到我的ElasticSearch。然而,当它工作时,我关闭了Elasticsearch,每次我使用ElasticTemplate方法时,我都会得到一个组织。elasticsearch。客户运输NoNodeAvailableException。这很好,因为ElasticSearch不起作用。 然而,当Elas
在从sping-引导1.5. x切换到sping-引导-2. x后,当db连接关闭时,我的Spring应用程序会不断尝试重新连接到数据库。我甚至无法调用运行状况检查endpoint。 这只发生在spring-boot-2.x中 它可能会尝试重新连接,但就我而言,它不应该阻止整个应用程序。 application.yml pom.xml 当数据库关闭时,我得到以下错误的泛滥。 错误