본문 바로가기

728x90
반응형

Spring

(43)
Spring restTemplate Connection pool 사용 ResteTemplate? 스프링3.0부터 제공하는 HTTP 요청을 수행하는 Synchronous 클라이언트. JDK HttpURLConnection, Apache HttpComponents 등과 같은 기본 HTTP 클라이언트 라이브러리를 통한 템플릿 메소드 API. 스프링 5부터는 maintenance 모드로 WebClint 사용을 지향한다. RestTemplate은 기존에 HttpClient를 추상화해서 제공한다. HttpClient를 사용했을 때 빈번하게 발생하는 코드 중복 혹은 응답 컨텐츠 관리에 좋다. 기본적으로 RestTemplate은 커넥션풀을 사용하지 않는다. 커넥션을 맺고 닫을 때 SimpleClientHttpRequestFactory(HttpUrlConnection래핑)를 사용한다. 대..
Spring cloud circuit breaker fallbackUri 사용 서비스 하나를 (fallback 날릴) 만들어서 gateway instance로 추가해준다. application.yml spring: application: name: scg-gateway cloud: gateway: routes: - id: test-svc uri: lb://TEST-SVC predicates: - Path=/testSvc/** filters: - name: CircuitBreaker args: name: testCircuitBreaker fallbackUri: forward:/fallback resilience4j.circuitbreaker: configs: default: failureRateThreshold: 50 slowCallRateThreshold: 100 slowCallD..
Spring cloud circuit breaker fallback 메소드 테스트 Spring cloud Circuit Breaker Config빈 등록 방법은 아래 포스팅을 참고 https://tweety1121.tistory.com/entry/Spring-circuitbreaker-actuator-health-check-%EC%84%A4%EC%A0%95 Spring circuitbreaker actuator health check 설정 Gradle implementation "org.springframework.cloud:spring-cloud-starter-circuitbreaker-reactor-resilience4j" implementation 'org.springframework.boot:spring-boot-starter-actuator' CircuitBreaker Con..
Spring circuitbreaker actuator health check 설정 Gradle implementation "org.springframework.cloud:spring-cloud-starter-circuitbreaker-reactor-resilience4j" implementation 'org.springframework.boot:spring-boot-starter-actuator' CircuitBreaker Configuration 빈 등록 @Bean public Customizer defaultCustomizer() { return factory -> factory.configureDefault(id -> new Resilience4JConfigBuilder(id) .circuitBreakerConfig(CircuitBreakerConfig.ofDefaults()) ..
Spring Cloud Gateway Global Error Handler ErrorWebExceptionHandler spring-mvc에서는 ErrorController, AbstractErrorController, BasicErrorController가 기본적으로 제공되므로 에러를 핸들링 할 수 있다. Spring-cloud는 webflux 기반이므로 mvc에서 사용하던 에러핸들러를 사용할 수 없다. @ExceptionHandler 역시 사용이 불가능하다. webflux에서 제공하는 에러핸들러는 ErrorWebExceptionHandler인터페이스와 AbstractErrorWebExceptionHandler, DefaultErrorWebExceptionHandler이다. ErrorExceptionConfig.java @Configuration @RequiredArgsCon..
Spring @Valid 어노테이션으로 파라미터 검증하기 Gradle 추가 implementation group: 'org.springframework.boot', name: 'spring-boot-starter-validation' ProductInfo.java package com.heypli.productsvc.domain.request; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import lombok.Getter; import lombok.Setter; import lombok.ToString; import javax.validation.constraints.NotNull; @Getter @Setter @ToString @JsonIgnoreProperties(ignoreUnknown..
Spring boot + mariadb + mybatis + hikaricp 설정 Gradle 설정 implementation group: 'org.mybatis.spring.boot', name: 'mybatis-spring-boot-starter', version: '2.2.2' implementation group: 'org.mariadb.jdbc', name: 'mariadb-java-client', version: '3.0.3' implementation 'org.springframework.boot:spring-boot-starter-jdbc' application.properties spring.datasource.hikari.driver-class-name=org.mariadb.jdbc.Driver spring.datasource.hikari.jdbc-url=jdbc:m..
Spring @Configuration @Bean 스프링 빈 등록 방법 프로그램으로 Spring Bean 설정시 @Configuration, @Bean 어노테이션을 이용할 수 있다. 클래스에 @Configuration을 설정하면 Class안애 @Bean메서드가 1개 이상 있어야하고 메서드는 빈 인스턴스를 생성해 반환한다. 스프링 컨테이너는 @Bean을 설정한 메서드가 반환하는 인스턴스를 관리한다. @Configuration public class TestAppConfiguration{ @Bean(name="testAppService") public TesetAppService testAppService() { return new TestAppServiceImpl(); } }​ @Bean에 설정한 name 속성은 스프링 컨테이너에 등록할 때 사용하는 빈이름이다. XML파일에 ..

728x90
반응형