jdbc上加.autoReconnect
试试
【在yyydddaaa的大作中提到:】:
springboot的web程序。后端mysql停掉后重启,可以看到mysql和web程序本地都已经建立了mysql3306端口的连接,但是访问时还是出现了错误,请问大神门这个问题怎么排查,是不是我druid的连接池配置有问题,错误如下:
Causedby:java.sql.SQLTransientConnectionException:HikariPool-1-Connectionisnotavailable,requesttimedoutafter30000ms.
atcom.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:669)~[HikariCP-2.7.9.jar!/:?]
atcom.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:183)~[HikariCP-2.7.9.jar!/:?]
atcom.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:148)~[HikariCP-2.7.9.jar!/:?]
atcom.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:128)~[HikariCP-2.7.9.jar!/:?]
atorg.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource.getConnection(AbstractRoutingDataSource.java:169)~[spring-jdbc-5.0.9.RELEASE.jar!/:5.0.9.RELEASE]
atorg.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:262)~[spring-jdbc-5.0.9.RELEASE.jar!/:5.0.9.RELEASE]
...12more
2020-08-1912:55:54,472ERRORo.s.a.i.SimpleAsyncUncaughtExceptionHandler[async-mysql-taskExecutor-23]Unexpectederroroccurredinvokingasyncmethod:publicvoidcom.zxjt.noticeRecom.service.impl.LogService.insertRespLog(java.util.List,java.lang.String,java.lang.String)
org.springframework.transaction.CannotCreateTransactionException:CouldnotopenJDBCConnectionfortransaction;nestedexceptionisjava.sql.SQLTransientConnectionException:HikariPool-1-Connectionisnotavailable,requesttimedoutafter30000ms.
atorg.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:305)~[spring-jdbc-5.0.9.RELEASE.jar!/:5.0.9.RELEASE]
atorg.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:378)~[spring-tx-5.0.9.RELEASE.jar!/:5.0.9.RELEASE]
atorg.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:474)~[spring-tx-5.0.9.RELEASE.jar!/:5.0.9.RELEASE]
atorg.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:289)~[spring-tx-5.0.9.RELEASE.jar!/:5.0.9.RELEASE]
atorg.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98)~[spring-tx-5.0.9.RELEASE.jar!/:5.0.9.RELEASE]
atorg.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)~[spring-aop-5.0.9.RELEASE.jar!/:5.0.9.RELEASE]
atorg.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)~[spring-aop-5.0.9.RELEASE.jar!/:5.0.9.RELEASE]
atorg.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)~[spring-aop-5.0.9.RELEASE.jar!/:5.0.9.RELEASE]
atorg.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda\$invoke\$0(AsyncExecutionInterceptor.java:115)~[spring-aop-5.0.9.RELEASE.jar!/:5.0.9.RELEASE]
atjava.util.concurrent.FutureTask.run(FutureTask.java:266)[?:1.8.0_102]
atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[?:1.8.0_102]
atjava.util.concurrent.ThreadPoolExecutor\$Worker.run(ThreadPoolExecutor.java:617)[?:1.8.0_102]
atjava.lang.Thread.run(Thread.java:745)[?:1.8.0_102]