서버간 혹은 모듈간 http 통신시 .postForObject 를 사용하고 있다.
Object를 담아서 통신 요청을 할 때 TimeOut 을 길게 설정하고 싶었다.
클래스를 하나 만들자.
public class TestRestTemplate extends RestTemplate {
public TestRestTemplate(int readTimeout) {
SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
factory.setConnectTimeout(1000);
factory.setReadTimeout(readTimeout * 1000);
setRequestFactory(factory);
}
}
* RestTemplate 를 상속하는 클래스에 Timeout 값을 받아서 셋팅 후 호출하는쪽으로 넘겨준다.
그럼 호출부에서는
private RestTemplate shortTemplate = new UcRestTemplate(3);
private RestTemplate longTemplate = new UcRestTemplate(10);
response = longTemplate.postForObject(Parameters)
* 상황에 맞게 readTimeOut을 사용하자!
본문 내용이 도움이 되셨다면, 아래의 공감버튼을 눌러주세요.
정보 공유를 위한 포스팅에 큰 힘이 됩니다.
만약 틀린 정보가 있으면 댓글 달아주세요. 수정하도록 하겠습니다.
읽어주셔서 감사합니다. 오늘도 좋은 하루 보내세요.