Feign服务间调用超时 Caused by: java.net.SocketTimeoutException: Read timed out

本文详细介绍了在服务间调用中遇到的SocketTimeoutException问题,并提供了多种解决方案,包括调整超时时间、禁用异常处理及禁用feign的hystrix。最终通过配置feign客户端的连接和读取超时时间成功解决问题。

今天,在调式服务间调用的时候遇到以下问题  :

Caused by: java.net.SocketTimeoutException: Read timed out

 

百度查了一下,默认的请求时间为1秒,超过这个时间便超时异常

解决方法有多种:

以下是网上所谓的三种方法: 说三种任意一种都能解决问题

1、把时间设长

这里设置5秒

hystrix:

  command:

    default:

      execution:

        isolation:

          thread:

            timeoutInMilliseconds: 5000

2、把超时发生异常属性关闭

 

hystrix:

  command:

    default:

      execution:

        timeout:

          enabled: false

3、禁用feign的hystrix

feign:

  hystrix:

    enabled: false

 

但是!但是并没有解决我的问题:

我是这样解决的:

#打开feign-hystrix

feign:

  hystrix:

    enabled: true

  client:

    config:

      ebook-interfaces: #服务提供者名字

        connectTimeout: 5000

          readTimeout: 5000

完美解决

 

java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedMethodAccessor188.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorlmpl.invoke(DelegatingMethodAccessorlmpl.jav a:43) at java.lang.reflect.Method.invoke(Method.java:498)at com.xxl.job.core.handler.impl.MethodJobHandler.execute(MethodJobHandler.java:29) at com.xxl.job.core.thread.JobThread.run(JobThread.java:152) Caused byfeign.RetryableException: Read timed out executing POST http://fpcrms- mpsbatch/test/indexFile at feign.FeignException.errorExecuting(FeignException.java:213) at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.ja va:115)at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:80) at feign.ReflectiveFeign$FeignlnvocationHandler.invoke(ReflectiveFeign.java:103) at com.sun.proxy.$Proxy148.indexFile(Unknown Source) at com.suning.fpcrms.job.web.handler.MarketJob.indexFile(MarketJob.java:58)5more Caused byjava.net.SocketTimeoutExceptionRead timed out at java.netSocketInputStream.socketRead0(Native Method) at2025-09-1806:00:00 java.net SocketinputStream.socketRead(SocketInputStream.java:116) at java.netSocketinputStream.read(SocketinputStream.java:171)at 2025-09-1805:00:01 java.netSocketinputStream.read(SocketinputStream.java:141)at java.io.BufferedinputStream.fill(BufferedinputStream.java:246)at javaio.BufferedlnputStream.read1(BufferedinputStream.java:286) at java.io.BufferedlnputStream.read(BufferedinputStream.java:345) at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClientjava:735)at sun.net.www.http.HttpClient.parseHTTP(HttpClientjava:678) at sun.net.www.protocol.http.HttpURLConnection.getinputStream0(HttpURLConnection.j ava:1587)at sun.net.www.protocol.http.HttpURLConnection.getinputStream(HttpURLConnection.ja va:1492)at javanet.HttpURLConnection.getResponseCode(HttpURLConnection.java:480) at feign.Client$Default.convertResponse(Clientjava:82) at feign.Client$Default.execute(Clientjava:78) at org.springframework.cloud.openfeign.ribbon.FeignLoadBalancer.execute(FeignLoadB alancer.java:93)at org.springfrarmework.cloud.openfeign.ribbon.FeignLoadBalancer.execute(FeignLoadB alancerjava:56)at com.netflix.clientAbstractLoadBalancerAwareClient$1.call(AbstractLoadBalancerAwar eClientjava:104) at com.netiiix.loadbalancer.reactive.LoadBalancerCommand$3$1.call(LoadBalancerCom mand.java:303)at com.nethi.lpadbalancer reartiveroadealaoadtas:ealhncercom
09-19
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值