resttemplate长连接案例
时间: 2023-10-21 15:58:17 浏览: 148
RestTemplate实现服务间调用demo案例
以下是一个使用RestTemplate进行长连接的简单案例:
```java
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
import org.springframework.web.client.RestTemplate;
public class RestTemplateExample {
public static void main(String[] args) {
// 创建HttpClient实例
CloseableHttpClient httpClient = HttpClients.createDefault();
// 创建HttpComponentsClientHttpRequestFactory,并设置连接超时时间和最大连接数
HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(httpClient);
requestFactory.setConnectTimeout(5000); // 连接超时时间为5秒
requestFactory.setMaxConnTotal(100); // 最大连接数为100
// 创建RestTemplate实例,并设置HttpRequestFactory
RestTemplate restTemplate = new RestTemplate(requestFactory);
// 发送请求
String url = "http://example.com/api/endpoint";
String response = restTemplate.getForObject(url, String.class);
System.out.println(response);
}
}
```
在上述代码中,我们首先创建了一个HttpClient实例,然后使用该实例创建了一个HttpComponentsClientHttpRequestFactory对象。在这个工厂类中,我们设置了连接超时时间为5秒和最大连接数为100。接下来,我们创建了一个RestTemplate实例,并将上述的HttpRequestFactory对象设置到RestTemplate中。
最后,我们使用RestTemplate发送了一个GET请求,并将响应结果以String的形式输出。
请注意,在实际使用中,你需要根据自己的需求进行适当的配置,比如设置连接超时时间、最大连接数、连接保持时间等等。
希望以上示例能帮助到你!如果还有其他问题,请随时提问。
阅读全文