Spring could 使用Feign超时问题

在使用Spring Cloud的时候碰见了 这个异常:java

feign.RetryableException: Read timed out executing POST xxxxxx
	at feign.FeignException.errorExecuting(FeignException.java:65)
	at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:105)
	at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:77)
	at feign.ReflectiveFeign$FeignInvocationHandler.invoke(ReflectiveFeign.java:102)
	at com.sun.proxy.$Proxy113.generateUserContract(Unknown Source)
.....
Caused by: java.net.SocketTimeoutException: Read timed out
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
	at java.net.SocketInputStream.read(SocketInputStream.java:171)
	at java.net.SocketInputStream.read(SocketInputStream.java:141)
	at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
	at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
	at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
	at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:735)
	at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:678)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
	at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
	at feign.Client$Default.convertResponse(Client.java:150)
	at feign.Client$Default.execute(Client.java:72)

spring boot :2.0.6.RELEASEspring

spring cloud :Finchley.SR2socket

组件中使用了 Eureka  、Feign ,由于Feign中引用了Ribbon,因此就没有显示引用jar..net

再往上找到了各类碰见这个问题的解决方案,可是在这个版本号以内已经没有了:code

ribbon.connect-timeout和ribbon.read-timeout 这两个变量的定义,因此在看了官方文档以后:文档

feign.client.config.default.connect-timeout=20000
feign.client.config.default.read-timeout=20000    

这两个参数就能够解决timeout的问题。get

相关文章
相关标签/搜索