|
@@ -8,6 +8,7 @@ import org.apache.http.config.RegistryBuilder;
|
|
|
import org.apache.http.conn.socket.ConnectionSocketFactory;
|
|
import org.apache.http.conn.socket.ConnectionSocketFactory;
|
|
|
import org.apache.http.conn.socket.PlainConnectionSocketFactory;
|
|
import org.apache.http.conn.socket.PlainConnectionSocketFactory;
|
|
|
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
|
|
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
|
|
|
|
|
+import org.apache.http.impl.client.DefaultHttpRequestRetryHandler;
|
|
|
import org.apache.http.impl.client.HttpClientBuilder;
|
|
import org.apache.http.impl.client.HttpClientBuilder;
|
|
|
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
|
|
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
|
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Bean;
|
|
@@ -49,7 +50,14 @@ public class RestTemplateConfig {
|
|
|
.setConnectTimeout(10000) //连接上服务器的超时时间
|
|
.setConnectTimeout(10000) //连接上服务器的超时时间
|
|
|
.setConnectionRequestTimeout(1000) //从连接池中获取连接的超时时间
|
|
.setConnectionRequestTimeout(1000) //从连接池中获取连接的超时时间
|
|
|
.build();
|
|
.build();
|
|
|
- return HttpClientBuilder.create().setDefaultRequestConfig(requestConfig).setConnectionManager(connectionManager).build();
|
|
|
|
|
|
|
+
|
|
|
|
|
+ return HttpClientBuilder.create()
|
|
|
|
|
+ .setDefaultRequestConfig(requestConfig)
|
|
|
|
|
+ .setConnectionManager(connectionManager)
|
|
|
|
|
+ // 设置重试策略和重试次数
|
|
|
|
|
+ .setServiceUnavailableRetryStrategy(new RestTemplateServiceUnavailableRetryStrategy())
|
|
|
|
|
+ .setRetryHandler(new DefaultHttpRequestRetryHandler(3, true))
|
|
|
|
|
+ .build();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|