resttemplate timeout 默认时间
RestTemplate 超时值
使用Spring的RestTemplate时,默认的超时值是无限的。
默认情况下,RestTemplate使用SimpleClientHttpRequestFactory,然后使用HttpURLConnection。
默认情况下为HttpURLConnection的超时时间为0 - 即无限的,除非它已经被设置这些属性:
-Dsun.net.client.defaultConnectTimeout=TimeoutInMiliSec Dsun.net.client.defaultReadTimeout=TimeoutInMiliSec SimpleClientHttpRequestFactory 源码。 public
class
SimpleClientHttpRequestFactory
implements
-
ClientHttpRequestFactory, AsyncClientHttpRequestFactory { private static final int DEFAULT_CHUNK_SIZE = 4096; private Proxy proxy; private boolean bufferRequestBody = true; private int chunkSize = 4096; private int connectTimeout = -1; private int readTimeout = -1; private boolean outputStreaming = true; private AsyncListenableTaskExecutor taskExecutor; //...
public
void
setConnectTimeout(int
connectTimeout)
{ this.connectTimeout = connectTimeout; } //... public void
setReadTimeout(int readTimeout) { this.readTimeout = readTimeout; }}
其 setConnectTimeout 和 setReadTimeout 方法,且默认值为 -1。
设置超时时间:
SimpleClientHttpRequestFactory SimpleClientHttpRequestFactory(); factory
fac
=
new