作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
问题:当我的 spring 应用程序正在运行时,同时数据库服务器停止/重新启动,然后数据库连接丢失并且从未恢复。
我测试如下:
执行查询:异常:
无法打开 JPA EntityManager 进行交易;嵌套异常是 javax.persistence.PersistenceException:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:连接关闭后不允许进行任何操作。
服务mysql启动
问题:如何让 spring DataSource
在连接丢失后自动重新连接?
这是我的配置:
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
最佳答案
我正在使用类似 HikariCP 的连接池自动重新连接。
请参阅 Stackoverflow 上的示例:How do I configure HikariCP in my Spring Boot app in my application.properties files?
关于java - 如何在 Spring 中自动重新连接 DataSource 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47283069/
我是一名优秀的程序员,十分优秀!