resttemplate的ReadTimeout和ConnectTimeout

简介: resttemplate的ReadTimeout和ConnectTimeout

问题描述:

今天,在做微服务开发中,A服务区调用B服务,获取数据做导出excel操作。A服务出现了“java.net.SocketTimeoutException: Read timed out ”错误。


ConnectTimeout 连接超时


指的是 建立连接超时,也就是 A服务连接不上B服务,也许是B服务挂掉了,会抛出"java.net.SocketException: connetct time out",也许是网络差到不能建立连接的地步。


ReadTimeout 读写超时


指的是建立连接成功后 从服务器读取超时,就像我遇到的这种情况样。B服务需要查询大量的数据,进行准备。A在一定时间后,抛出"java.net.SocketTimeoutException: Read timed out


ConnectionRequestTimeout


连接不共用的时候,等待连接超时。


关于参数的设置


建议:

ConnectTimeout大小视网络环境

ReadTimeout大小视应用程序操作,适当大一点。

ConnectionRequestTimeout 不宜过长。

@Configuration
    public class BeanConfig{
        @Bean
        public RestTemplate createRestTemplate(){
            HttpComponentsClientHttpRequestFactory httpRequestFactory = new HttpComponentsClientHttpRequestFactory();
            httpRequestFactory.setConnectionRequestTimeout(3000);
            httpRequestFactory.setConnectTimeout(3000);
            httpRequestFactory.setReadTimeout(6000);
            return new RestTemplate(httpRequestFactory);
        }
    }



相关文章
|
9月前
|
JSON Java 数据格式
如何优雅的使用 RestTemplate
如何优雅的使用 RestTemplate
|
9月前
|
负载均衡 Java 网络架构
基于RestTemplate的服务调用
基于RestTemplate的服务调用
68 1
|
XML JSON Java
RestTemplate使用详解
RestTemplate使用详解
|
JSON Java Apache
RestTemplate的超全讲解(全)
目录前言1. 简介2. http状态码3. get请求4. post请求5. Exchange 前言 主要介绍RestTemplate的原理以及使用等 1. 简介 常见的http客户端请求工具: jdk HttpURLConnection Apache HttpClient 比较常用 OkHttp 比较常用 RestTemplate是一个同步的web http客户端请求模板工具 是基于spring框架的底层的一个知识点 具体常用的方法如官网所示 RestTemplate官方文档 部分常用方法截图如下:
523 0
RestTemplate的超全讲解(全)
|
存储 网络协议 Dubbo
服务远程调用指南(RestTemplate、HttpClient)
服务远程调用指南(RestTemplate、HttpClient)
1324 0
|
JSON Java Apache
02、RestTemplate学习笔记
02、RestTemplate学习笔记
02、RestTemplate学习笔记
|
Java 网络架构 Spring
RestTemplate
RestTemplate提供了多种便捷访问远程Http服务的方法, 是一种简单便捷的访问restful服务模板类,是Spring提供的用于访问Rest服务的客户端模板工具集
SpringCloud - RestTemplate的三种使用方式
SpringCloud - RestTemplate的三种使用方式
365 0
SpringCloud - RestTemplate的三种使用方式
如何正确使用RestTemplate【三】
上篇文章我们说了POST请求和OPTIONS请求相关的方法,对其中的postForLocation方法和optionsForAllow方法进行了一个具体使用上的阐述。今天我们来学习RestTemplate中的PUT请求、DELETE请求、PATCH请求相关的方法,要相信厚积薄发,每天学习一点点。
180 0
如何正确使用RestTemplate【三】
如何正确使用RestTemplate【六】
上篇文章,我们学习了HEAD请求的相关方法的使用方法,以及具体参数的不同,当然还有一些代码示例、使用场景等,今天我们来学习POST请求的使用方法。
208 0