출처: https://velog.io/@seungyeon/카프카-무엇이고-왜-필요할까 카프카 데이터 플랫폼의 최강자 1장을 읽고 정리한 내용입니다. 배경지식 MOM(Message Oriented Middleware) : 메시지 지향 미들웨어1.1 다른 미들웨어 종류: RPC 방식, ORB 방식1.2 미들웨어: 어플리케이션들을 연결시켜, 서로 데이터를 교환할 수 있게 해주는 소프트웨어1.3 메시지 지향: 메시지 전달을 통해 데이터를 교환할 수 있게 만들어주는 시스템. Message Broker2.1 MOM 기반으로 메시지 전송을 담당하는 시스템.2.2 Publisher(송신자)로부터 전달받은 메시지를 Subscriber(수신자)로 전달해주는 중간 역할 → 응용 소프트웨어 간에 메시지 교환 담당2.3 이때,..
전체 글
코드만 봐도 다 알 수 있다.예외 처리는 robust한 애플리케이션을 만드는데 매우 중요한 부분을 차지한다. Spring 프레임워크는 매우 다양한 에러 처리 방법을 제공하는데, 앞선 포스팅에서 @RestControllerAdvice를 사용해야 하는 이유에 대해서 자세히 알아보았다. 이번 포스팅에서는 @RestControllerAdvice를 이용해 에러를 처리하는 방법에 대해서 구현하면서 살펴보도록 하자. 1. ControllerAdvice와 RestControllerAdvice [ ControllerAdvice와 RestControllerAdvice ] Spring은 전역적으로 예외를 처리할 수 있는 @ControllerAdvice와 @RestControllerAdvice 어노테이션을 각각 Spring3.2, Spring4.3부터 ..
이번에는 JPA Entity에서 이벤트가 발생할 때마다 특정 로직을 실행시킬 수 있는 @EntityListeners를 정리해보려고 한다. 예제 코드는 Spring boot와 Kotlin을 사용하여 작성하였다. JPA EntityListeners 란? 하이버네이트 문서에서는 JPA Entity에 이벤트가 발생할 때 콜백을 처리하고 코드를 실행하는 방법이라고 소개하고 있다. 이제 하이버네이트에서 지원하는 콜백 메서드들을 살펴보자. EntityListeners는 JPA Entity에 Persist, Remove, Update, Load에 대한 event 전과 후에 대한 콜백 메서드를 제공한다. 이번 글에서는 간단한 예제로 Update 하는 코드를 작성해보려고 한다. 예제 코드 @Component class U..
출처: https://ict-nroo.tistory.com/129 [JPA] @MappedSuperclass @MappedSuperclass객체의 입장에서 공통 매핑 정보가 필요할 때 사용한다.id, name은 객체의 입장에서 볼 때 계속 나온다.이렇게 공통 매핑 정보가 필요할 때, 부모 클래스에 선언하고 속성만 상속 받아 ict-nroo.tistory.com @MappedSuperclass 객체의 입장에서 공통 매핑 정보가 필요할 때 사용한다. id, name은 객체의 입장에서 볼 때 계속 나온다. 이렇게 공통 매핑 정보가 필요할 때, 부모 클래스에 선언하고 속성만 상속 받아서 사용하고 싶을 때 @MappedSuperclass를 사용한다. DB 테이블과는 상관없다. 아래에 보면 DB는 매핑 정보 다 따..
출처: https://bangu4.tistory.com/199 [Java] Annotation 어노테이션 - 총정리 1. 어노테이션이란? 자바 어노테이션(Java Annotation) 에노테이션은 주석이라는 의미를 가진다. 자바 소스 코드에 사이에 @ 기호를 앞에 붙여서 사용하는데, JDK 1.5 버전 이상에서 사용 가능하다. 어 bangu4.tistory.com 1. 어노테이션이란? 자바 어노테이션(Java Annotation) 에노테이션은 주석이라는 의미를 가진다. 자바 소스 코드에 사이에 @ 기호를 앞에 붙여서 사용하는데, JDK 1.5 버전 이상에서 사용 가능하다. 어노테이션의 용도 컴파일러에게 코드 작성 문법 에러를 체크하도록 정보를 제공 소프트웨어 개발툴이 빌드나 배치시 코드를 자동으로 생성할..
출처: https://loosie.tistory.com/829 스프링 부트에서 Logback 사용하기 스프링 부트에선 기본적으로 Logback이 설정되어 있다. 다음과 같이 SLF4J의 3가지 모듈이 이어져 Logback과 연결된다. 다음과 같이 spring-boot-starter-logging 라이브러리에 기본적으로 설치되어 있다. Controller에 로그 API를 작성하여 기본적으로 로깅이 뭔지 모두 호출해보자. /** * trace < debug < info < warn < error * default : info */ @RestController public class FooController { private final Logger log = LoggerFactory.getLogger(this..