반응형

Spring Boot 3

Spring Properties from Lib Resources (PropertySourcesPlaceholderConfigurer, EnvironmentPostProcessor)

개요 Spring 프로젝트의 Properties를 구성하는 방법은 여러 가지가 있다. 그중 프로젝트 외부(external jar)의 resources에서 Load 하여 추가하는 방법에 대해 정리하고자 한다. 문제 상황 1. Github Project를 public으로 설정하면 일부 정보들은 노출되지 않도록 관리해야 한다. ex) db password.. etc 2. Multi Project 구조 같이 공통적으로 적용되어야 하는 Properties를 따로 관리해야 할 때 ex) Actuator 설정, 접속정보 등 Properties file을 Runtime에 외부에서 Load 하게 되면 위 문제상황을 해결할 수 있다. 일반적으로는 Server에 관리되는 Properties 파일을 두고 runtime 시점에..

Spring TransactionEventListener

개요 Event 기반 구조로 개발을 할 때 가용할만한 기능 @EventListener Spring에서 제공하는 EventListener 이벤트를 publish하고, @EventListener 가 달린 메소드에서 자신의 condition에 맞는 이벤트일 시 수행한다. @TransactionalEventListener 기본적으로 event를 publishing하면 비동기로 이벤트가 발행된다. 주요 로직에서 이벤트 발행 후 오류가 발견되어 rollback이 필요할 시 이미 발행된 Event에 대해서는 rollback이 불가하다. 따라서 Transaction이 필요한 로직에서는 Event가 발행되지 않거나 실행이 안되어야한다. 원리 @Transaction에 종속적인 eventListener이다. 이벤트를 발행하..

개발 일지 2022.11.23
반응형