Read timed out; nested exception is java.net.SocketTimeoutException: Read timed out

问题出现

主机调用异常:I/O error on POST request for "http://127.0.0.1:8181/api/xxxxxx/xxxxx": Read timed out; nested exception is java.net.SocketTimeoutException: Read timed out

问题处理

出问题的代码

				ResponseEntity response = dispatcherRestTemplate.postForEntity(url, rptResource.getParamJson(), String.class);

延长的读取时间

@Configuration
public class RestTemplateConfig {

	/**
	 * 调度器使用的RestTemplate,超时5s
	 * @return
	 */
	@Bean("dispatcherRestTemplate")
	public RestTemplate getRestTemplate(){
		RestTemplate restTemplate = new RestTemplateBuilder()
					.setConnectTimeout(200000)
					.setReadTimeout(200000)
					.build();
		//解决中文乱码
		List<HttpMessageConverter> msgConv = restTemplate.getMessageConverters();
		if(msgConv != null && !msgConv.isEmpty()) {
			for(int i = 0; i < msgConv.size(); i++ ){
				if(msgConv.get(i).getClass().equals(StringHttpMessageConverter.class)) {
					msgConv.set(i, new StringHttpMessageConverter(StandardCharsets.UTF_8));
				}
			}
		}
		return restTemplate;
	}
}

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://www.net2asp.com/db74054d84.html