枚举式单例
private enum SingletonRestTemplate {
INSTANCE;
private RestTemplate singleton;
SingletonRestTemplate() {
SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
requestFactory.setConnectTimeout(CONNECT_TIMEOUT);
requestFactory.setReadTimeout(READ_TIMEOUT);
singleton = new RestTemplate(requestFactory);
singleton.getMessageConverters()
.set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8));
singleton.setErrorHandler(new DefaultResponseErrorHandler());
log.info("初始化RestTemplate单例...");
}
public RestTemplate getInstance() {
return singleton;
}
}