2017-02-13 141 views
0
Caused by: java.io.IOException: An existing connection was forcibly closed by the remote host 
at sun.nio.ch.SocketDispatcher.write0(Native Method) 
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:51) 
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) 
at sun.nio.ch.IOUtil.write(IOUtil.java:51) 
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:470) 
at org.gradle.internal.remote.internal.inet.SocketConnection$SocketOutputStream.writeWithNonBlockingRetry(SocketConnection.java:259) 
at org.gradle.internal.remote.internal.inet.SocketConnection$SocketOutputStream.writeBufferToChannel(SocketConnection.java:247) 
at org.gradle.internal.remote.internal.inet.SocketConnection$SocketOutputStream.flush(SocketConnection.java:241) 
at org.gradle.internal.remote.internal.inet.SocketConnection.flush(SocketConnection.java:119) 
... 22 more 
Daemon vm is shutting down... The daemon has exited normally or was terminated in response to a user interrupt. 
:bootRun FAILED 

後,我已經在application.properties使用gradle這個bootRun啓動成功,但斷開一段時間

server.connection-timeout=-1 

但一段時間後它仍然斷開。

我甚至在application.properties但無濟於事使用

spring.datasource.testWhileIdle=true 
spring.datasource.validationQuery=SELECT 1 

。 我在做什麼錯了?

+0

這似乎與Gradle有關。如果您運行應用程序的JAR文件,是否會遇到同樣的症狀?用'java -jar ...'? – Strelok

+0

我還沒有嘗試過,但我非常懷疑這是問題。我會試試看。 – Rbk

+0

您是否有任何證據證明這是與數據庫連接有關的問題?如果沒有,請嘗試檢查文件讀取代碼,並在文件讀取部分捕獲 java.io.IOException。它可能有所幫助。 – Suraj

回答

0

我不得不改變

spring.datasource.testWhileIdle=true 
spring.datasource.validationQuery=SELECT 1 

spring.datasource.dbcp.test-while-idle=true spring.datasource.dbcp.validation-query=SELECT 1

顯然有曾在springboot 1.4重命名。