2017-08-16 23 views
0

接続が終了しました。春のブートアプリケーションで例外が発生しました。春ブートBrokenPipe /通信例外

これは私のDB構成です:

# 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 ミリ秒前でした。最後にサーバーに送信されたパケットは、 66,612,631ミリ秒前です。サーバーがの値 'wait_timeout'の設定よりも長い場合この場合、 クライアントのタイムアウトの設定値を増やすか、または の問題を回避するために、 Connector/J接続プロパティ 'autoReconnect = true'を使用して、アプリケーションで使用する前に有効期限を切ったり、接続の有効性をテストしたりする必要があります。

java.net.SocketExceptionが:壊れたパイプ

私は自動再有効化について多くのトピックを見てきましたが、それは私の知る限りでは推奨されません。

答えて

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 
関連する問題