• 토비의 스프링 - 서비스 추상화

    이 글은 “토비의 스프링” 책 내용을 정리한 글입니다. 만약 저작권 관련 문제가 있다면 “gunjuko92@gmail.com”로 메일을 보내주시면, 바로 삭제하도록 하겠습니다. 서비스 추상화 자바에는 표준 스펙, 상용 제품, 오픈소스를 통틀어서 사용방법과 형식은 다르지만 기능과 목적이 유사한 기술이 존재한다. 환경과 상황에 따라서 기술이 바뀌고, 그에 따라 다른 API를 사용하고 다른 스타일의 접근 방법을...


  • TestPropertySource

    @TestPropertySource 이 글은 Baeldung - Test Property Source를 번역한 글입니다. 원 글은 링크를 통해 확인하세요. Overview 스프링은 테스트에 도움이 되는 많은 기능을 제공한다. 때로는 테스트케이스에서 특정 설정 정보를 사용해야만 할 때가 있다. 이럴때는 @TestPropertySource 애노테이션을 사용하면 된다. @TestPropertySource 애노테이션을 통해 다른 설정보다 더 높은 우선순위를 가지는 설정 sourace를 정의할 수...


  • 토비의 스프링 - Test

    이 글은 “토비의 스프링” 책 내용을 정리한 글입니다. 만약 저작권 관련 문제가 있다면 “gunjuko92@gmail.com”로 메일을 보내주시면, 바로 삭제하도록 하겠습니다. 테스트 스프링이 개발자에게 제공하는 가장 중요한 가치는 객체지향과 테스트이다. 애플리케이션은 계속 변하고 복잡해져 간다. 그 변화에 대응하는 첫 번째 전략이 확장과 변화를 고려한 객체지향적 설계와 그것을 효과적으로 담아낼 수 있는 IoC/DI...


  • DeserializationExceptionHandler

    DeserializationExceptionHandler DeserializationExceptionHandler를 사용하면 레코드를 deserialize할 때 발생하는 예외를 처리할 수 있다. DeserializationExceptionHandler 인터페이스의 구현체는 레코드와 발생한 예외를 참고해서 FAIL 혹은 CONTINUE를 리턴해야 한다. FAIL을 리턴하는 경우 : Streams이 shutdown 되어야하는 경우 CONTINUE을 리턴하는 경우 : Streams이 예외를 무시하고 처리를 계속해야하는 경우 기본 구현 클래스는 LogAndFailExceptionHandler이다. 그리고 Kafka Streams는 아래와 같은...


  • Spring Retry

    RetryTemplate Spring Retry에서 제공하는 RetryTemplate을 사용하면, 재시도 구현을 아주 쉽게 할 수 있다. 본 글에서는 Spring Retry에서 제공하고 있는 RetryTemplate의 특징과 사용법에 대해서 소개한다. RetryTemplate 실패한 작업을 자동으로 재시도하는 것은 작업에 대한 실패 가능성을 줄이는데 도움을 준다. 보통 일시적인 오류인 경우에 이러한 재시도는 큰 도움을 준다. 예를 들어 다른 웹...