springboot

    [Spring Data JPA] Auditing에 ZonedDateTime 사용하기

    [Spring Data JPA] Auditing에 ZonedDateTime 사용하기

    들어가며 JPA에는 엔티티의 생성 일자와 최종 수정일자, 생성자와 최종 수정자를 entityManager에서 persist하기 전에 자동으로 현재 일시로 세팅해주는 기능이 존재합니다. JPA Auditing이라고 하는데요, 대부분의 경우 이 Auditing 기능을 @MappedSuperclass로 만들고 엔티티 클래스에서 상속받도록 구현합니다. 이번 포스팅은 이 JPA Auditing 중 생성 일자와 최종 수정일자 필드의 타입에 관한 포스팅입니다. 문제가 뭐였냐면 프로젝트의 날짜 타입을 ZonedDateTime으로 통일함에 따라, Auditing의 @CreatedDate와 @LastModifiedDate 필드 또한 ZonedDateTime으로 변경하게 되었습니다. 단순히 필드의 자료형만 변경하면 될 줄 ..

    [SpringCloud] Resilience4j와 Spring Cloud Circuit Breaker

    [SpringCloud] Resilience4j와 Spring Cloud Circuit Breaker

    들어가기 전에 어떤 애플리케이션에서 다른 서비스의 API를 호출해 응답 데이터를 사용하는 로직이 있다고 가정해봅시다. 그럼 해당 로직은 아래 프로세스로 동작할 것입니다. 이 두 서비스 간의 통신이 항상 문제없이 정상적으로 동작하면 좋겠지만, 실제로 그렇지 않다는 것을 모두가 알고 있습니다. 다른 서비스가 가용 리소스가 적어 이 요청을 처리하는데 과도하게 오랜 시간이 걸린다면? 다른 서비스가 현재 장애가 발생해 이 요청을 처리할 수 없는 상태라면? 어떤 모종의 이유로 인해 다른 서비스가 내려가 있다면? 이 비즈니스 로직, 나아가 우리의 애플리케이션은 다른 서비스의 상태나 장애에 의존적인 상황이 펼쳐지게 됩니다. 다른 서비스가 장애가 발생하면 우리 서비스도 장애가 발생하는 그런 상황이요. 😡 담당자 : 개발..

반응형