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

回到顶部