Spring Rest模板readTimeOut
我试图了解restTemplate上的readTimeout,这到底是什么?
这是请求获得超时异常之前可以花费的总时间吗?
回答:
您可以在上定义读取超时RestTemplate
,如下所示:
HttpComponentsClientHttpRequestFactory clientRequestFactory = new HttpComponentsClientHttpRequestFactory();// set the read timeout, this value is in milliseconds
clientRequestFactory.setReadTimeout(500);
RestTemplate restTemplate = new RestTemplate(clientRequestFactory);
给定readTimeout为 X millis,通过该RestTemplate实例进行的任何请求所花的时间都比 X
millis长,将导致出现ResourceAccessException
,并包装一个java.net.SocketTimeoutException
带有异常消息的消息:“读取超时”。
超时实际上是由HttpClient
实例内部的套接字连接器实现的,该实例由包裹,RestTemplate
因此,时钟首先在请求首次到达该套接字时开始,并在其中任何一个先到达时停止:请求完成或达到readTimeout。
实际上,这意味着任何花费比配置的readTimeout更长的请求都将失败,并出现超时异常。
以上是 Spring Rest模板readTimeOut 的全部内容, 来源链接: utcz.com/qa/417206.html