- connectTimeout:指的是建立连接所用的时间
- readTimeout:指的是建立连接后从服务器读取到可用资源所用的时间
package com.hdy.manage.configuration;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;
import java.time.Duration;
@Configuration
@Slf4j
public class RestTemplateConfiguration {
@Autowired
private RestTemplateBuilder builder;
@Value("${spring.client.rest.template.connection-timeout}")
private Long connectTimeout;
@Value("${spring.client.rest.template.read-timeout}")
private Long readTimeout;
// 使用RestTemplateBuilder来实例化RestTemplate对象,spring默认已经注入了RestTemplateBuilder实例
@Bean
public RestTemplate restTemplate() {
return builder.setConnectTimeout(Duration.ofMillis(connectTimeout)).setReadTimeout(Duration.ofMillis(readTimeout)).build();
}
}