2017-08-16 118 views
0

我面临连接关闭在我的弹簧引导应用程序异常。Spring Boot BrokenPipe /通信异常

这是我的数据库配置:

# For auto recconect it is necessary 
spring.datasource.tomcat.test-on-borrow = true 
spring.datasource.tomcat.test-while-idle= true 
spring.datasource.tomcat.test-on-return = true 
spring.datasource.tomcat.validationQuery=SELECT 1 

spring.datasource.tomcat.time-between-eviction-runs-millis = 60000 
spring.datasource.tomcat.min-evictable-idle-time-millis = 300000 

spring.datasource.tomcat.min-idle = 10 
spring.datasource.tomcat.max-idle = 100 

# Maximum number of active connections that can be allocated from this pool at the same time. 
spring.datasource.tomcat.max-active = 100 

例外:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:从服务器成功接收最后一个包是66612631 毫秒前。成功发送到服务器的最后一个数据包是66612631毫秒前的 。比'wait_timeout'的值配置的服务器长 。在应用程序中使用之前,应考虑测试连接有效性,或者增加 服务器配置的客户端超时值,或者使用 连接器/ J连接属性'autoReconnect = true'来避免此 问题。

java.net.SocketException异常:残破的管道

我见过很多主题有关启用autoReconnect的,但它没有,据我知道的建议。

回答

0

那么我改变了默认数据源提供程序为dbcp2,并修复了这个错误。

spring.datasource.type=org.apache.commons.dbcp2.BasicDataSource 

# For auto recconect it is necessary 
spring.datasource.dbcp2.test-on-borrow = true 
spring.datasource.dbcp2.test-while-idle = true 
spring.datasource.dbcp2.test-on-return = true 
spring.datasource.dbcp2.validationQuery = SELECT 1 

spring.datasource.dbcp2.time-between-eviction-runs-millis = 60000 
spring.datasource.dbcp2.min-evictable-idle-time-millis = 300000 

spring.datasource.dbcp2.min-idle = 10 
spring.datasource.dbcp2.max-idle = 100 
相关问题