jnk1m
Foliage IT
jnk1m
전체 방문자
오늘
어제
  • 분류 전체보기 (209)
    • Today I Learned (34)
    • Java (47)
    • Database (15)
    • [NHN Academy] (27)
    • Spring (47)
    • HTML + CSS + JavaScript (11)
    • JSP (3)
    • Node.js (10)
    • React Native (2)
    • 기타 (8)
    • 스크랩 (5)

인기 글

최근 글

티스토리

hELLO · Designed By 정상우.
글쓰기 / 관리자
jnk1m

Foliage IT

Spring Boot에서 RestTemplate 빈 등록을 해야할까?
Spring

Spring Boot에서 RestTemplate 빈 등록을 해야할까?

2022. 12. 14. 09:27

이 댓글 보고 찾아보았다.

 

RestTemplateAutoConfiguration (Spring Boot 3.0.0 API)

java.lang.Object org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration

docs.spring.io

 

 

 

@Bean
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }

그냥 new해서 레스트 템플릿 만들면 동작은 하는데 서버에 올리면 장애가 날거다.

accountOpenApi가 backendServer를 호출해서 작업하는 리소스가 부족해서 응답을 느리게 해주면 openApi는 무한대로 기다리게 된다. 

 

해결 방법

RestTemplateBuilder를 이용하자 

@Bean
        public RestTemplate restTemplate(RestTemplateBuilder restTemplateBuilder) {
            return restTemplateBuilder
                    .setReadTimeout(Duration.ofSeconds(3L))
                    .setConnectTimeout(Duration.ofSeconds(3L))
                    .build();
        }

RestTemplateBuilder를 주입 받아서 ReadTimeOut ConnectTimeOut 설정해주기

ReadTimeOut: 기다리는 시간. 3초 기다리고 응답 없으면 예외 발생. 응답하는 서버의 시간에 따라 유연하게 대응.

 

 

 

    'Spring' 카테고리의 다른 글
    • [에러] @DataJpaTest 할 때 UnsatisfiedDependencyException
    • RestTemplate get 비교 시 객체 처리
    • [에러] Interface 기반 DTO Projection NULL 에러 원인과 해결 방법
    • [스프링 시큐리티] 사용자 관리 UserDetails, UserDetailsService, UserDetailsManager

    티스토리툴바