Resilience라는 단어의 사전적 의미는 회복성입니다. 심리학적 의학적인 영역에서는 어떤 시련이나 역경을 도약의 발판으로 삼아 더 높이 뛰어오르는 마음의 근력을 말하는데요. 시스템 관점에서의 Resilience의 의미도 크게 다르지 않은 것 같습니다. Resilience4j는 Netflix Hystrix(현재 deprecated)에서 영감을 받은 "fault tolerance" 라이브러리입니다. "fault tolerance"라는 키워드가 중요한 포인트인데 위키에 따르면 이렇게 나와 있습니다. 시스템을 구성하는 부품의 일부에서 결함(fault) 또는 고장(failure)이 발생하여도 정상적 혹은 부분적으로 기능을 수행할 수 있는 시스템이다. 어떤 시스템의 특정 일부분이 고장이 나거나 소위 장애가 발생..
실무에서 @Transactional이 걸려 있었음에도 불구하고 rollback이 되지 않았던 이슈가 있었습니다.예를들면 2가지 상품을 구매 했는데 1개는 구매 성공하고 다른 한가지 상품에 대해 구매 시도하다 오류가 발생하면이전에 성공처리 된 상품도 취소 되어야하는데 rollback이 되지 않았습니다.이것에 대해 알아보기 위해 우리는 java에서의 예외에 부터 먼저 알아봐야 합니다. 자바의 예외자바에서 예외는 크게 Checked Exception과 Unchecked Exception으로 이루어져 있습니다.전자인 Checked Exception은 개발자가 반드시 예외처리를 진행해야 하며, Unchecked Exception은 개발자가 예외처리를 하지 않아도 됩니다.트랜잭션이란 무엇일까요?쉽게말하면 작업의 단..
from. 코드로 배우는 스프링 웹 프로젝트 Lombok관련 어노테이션 1. @Setter : @Setter는 말 그대로 setter메서드를 생성해 주는 역할을 합니다. @Setter에는 3가지 속성을 부여할 수 있습니다. 1) value : 접근 제한 속성을 의미 2) onMethod : setter 메소드의 생성 시 메서드에 추가할 어노테이션을 지정 3) onParam : setter 메소드의 파라미터에 어노테이션을 사용하는 경우에 적용 2. @Data : Lombok에서가장 자주 사용되는 어노테이션입니다. @Data는 @ToString, @EqualsAndHashCode, @Getter, @Setter 등을 모두 결합한 형태로 한 번에 자주 사용되는 모든 메서드들을 생성 할 수 있다는 장점이 있습니..
스프링과 스프링부트의 주요 차이점 Spring Framework는 Java에서 애플리케이션 개발을 돕는 가장 인기있는 프레임 워크 중 하나입니다. 그것은 다양한 방식의 객체 또는 빈 관계를 유지했습니다. 실제로 DI (Dependency Injection) 또는 IOC (Inversion of Control)에 매우 유용합니다. 느슨하게 결합 된 응용 프로그램을 개발하는 데 큰 도움이되었으며, 이는 자동으로 모든 Java 응용 프로그램 의 적절한 단위 테스트에 도움이되었습니다. Spring Framework를 포함하여 다른 많은 기능이 있으며 어떤 constant에서도 매우 인기가 있습니다. 이러한 기능은 거의 20 개의 모듈로 나뉘어 모든 Java 응용 프로그램에서 매우 일반적으로 발생하는 많은 문제를..