当前位置: 首页 > 知识库问答 >
问题:

如何在Spring中自动重新连接数据源连接?

贺宝
2023-03-14

问题:当我的spring应用程序运行时,同时数据库服务器停止/重新启动,然后db连接丢失并且从未恢复。

com.mysql.jdbc.exceptions.jdbc4.mysqlnontransientConnectionException:连接关闭后不允许任何操作。

服务mysql启动

问题:如何告诉springDataSource在连接丢失后自动重新连接?

这是我的配置:

spring.datasource.url=jdbc:mysql://localhost/tablename?useSSL=false
spring.datasource.username=root
spring.datasource.password=rootpw
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.tomcat.validation-query=SELECT 1
spring.datasource.tomcat.validation-query-timeout=5000
spring.datasource.tomcat.test-on-borrow=true
spring.datasource.tomcat.test-on-connect=true

共有1个答案

甄坚白
2023-03-14

我正在使用像HikariCP这样的连接池来自动重新连接。

请参见StackOverflow中的示例:如何在Application.properties文件中配置Spring Boot应用程序中的HikariCP?

 类似资料:
  • 我已经检查了数据库运行良好。当发生这种情况时,我必须重新启动我的spring-boot应用程序。我怎么检查问题是什么?为什么数据库连接被关闭了?如果发生这种情况,我是否可以重新连接数据库?下面是我的应用程序.属性:

  • 下面是我到目前为止的代码: 有人能解释一下在和情况下我该做什么吗?以及如何知道网络已断开并重新连接?

  • 我有一个Spring Boot应用程序,我使用ElasticsearchTemplate连接到我的ElasticSearch。然而,当它工作时,我关闭了Elasticsearch,每次我使用ElasticTemplate方法时,我都会得到一个组织。elasticsearch。客户运输NoNodeAvailableException。这很好,因为ElasticSearch不起作用。 然而,当Elas

  • 我正在运行连接到PostgreSQL数据库的Spring Boot。我已经验证了,如果在数据库之后启动Spring Boot,数据会写入数据库。 当数据库在开发中发生更改时,我遇到异常: 请注意,当发生异常时,可以再次访问数据库;我认为问题是连接陈旧,因为它最初连接到的数据库endpoint由于重新启动而不再可用。重新启动Spring Boot解决了这个问题。

  • 我正在尝试构建一个简单的Spring Boot CRUD应用程序,它还具有Spring Boot安全性的登录和注册选项。我已经在使用MySQL数据库,它可以很好地为我的应用程序保存数据。 问题是,在尝试在securityConfig类中创建jdbcAuthentication时,它说我无法自动连接Datasource,并且没有找到“Datasource”类型的bean(同样,我已经成功地将MySQ

  • 问题内容: 我有一个客户端,一个服务器和一个数据库。客户端通过EJB远程接口与服务器通信。作为服务器-我使用Wildfly 8.2.0。作为数据库- 我使用MySQL。服务器通过JPA /休眠与MySQL通信。当我关闭MySQL服务器时,Wildfly当然会引发异常。但是,当我再次打开MySQL时- Wildfly仍然会抛出相同的错误。我必须关闭Wildfly,然后重新将Wildfly重新连接到数