您可以在上定义读取超时
RestTemplate,如下所示:
HttpComponentsClientHttpRequestFactory clientRequestFactory = new HttpComponentsClientHttpRequestFactory();// set the read timeout, this value is in millisecondsclientRequestFactory.setReadTimeout(500);RestTemplate restTemplate = new RestTemplate(clientRequestFactory);
给定readTimeout为 X millis,通过该RestTemplate实例进行的任何请求所花的时间都比 X
millis长,将导致出现
ResourceAccessException,并包装一个
java.net.SocketTimeoutException带有异常消息的消息:“读取超时”。
超时实际上是由
HttpClient实例内部的套接字连接器实现的,该实例由包裹,
RestTemplate因此,时钟首先在请求首次到达该套接字时开始,并在其中任何一个先到达时停止:请求完成或达到readTimeout。
实际上,这意味着任何花费比配置的readTimeout更长的请求都将失败,并出现超时异常。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)