Backend/Spring

    spring boot mongo DB LocalDateTime UTC -> KST 한국 시간 전환하기

    서론 spring에서 mongo DB에 Document의 LocalDateTime 필드를 저장하면 UTC의 시간으로 변환되어 들어간다. 아마 팀 컨벤션에 따라 다를 것 같은데, 우리는 mongo DB에서도 KST 한국 시간으로 보고 싶었다. 따라서 covnerter를 만들기로 했다. 기본적인 베이스는 spring이 제공하는 Spring Data MongoDB에 커스텀 컨버터를 추가하는 것이다. https://docs.spring.io/spring-data/mongodb/reference/mongodb/mapping/custom-conversions.html Custom Conversions :: Spring Data MongoDB Generally, we inspect the Converter imple..

    CompositeCacheManager의 배치 시간 소요 문제 - CacheManager는 꼭 전부 Bean 등록하자

    CompositeCacheManager의 배치 시간 소요 문제 - CacheManager는 꼭 전부 Bean 등록하자

    문제 얼마전 회사에서 local cache와 redis를 같이 쓰도록 바뀌었는데, 이 때 CompositeCacheManager를 사용했다. @Bean fun cacheManager(): CacheManager = CompositeCacheManager().apply{ setCacheManagers(listOf(getCaffeineCacheManager(), getRedisCacheManager)) } fun getCaffeineCacheManager(): SimpleCacheManager = SimpleCacheManager().apply{ setCaches(...) } fun getRedisCacheManager(): RedisCacheManager = RedisCacheManager.builder(..

    Redis Jackson @JsonUnwrapped Unwrapped property requires use of type information 이슈

    이슈 코틀린을 사용하면서 Redis에서 value에 직렬화/역직렬화 클래스를 설정할 일이 있어 해당 구현체로 Jackson을 사용하기로했다. 그래서 ObjectMapper를 커스텀해서 사용하던 도중 어느 한 dto data class를 직렬화할때 에러가 났다. Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Unwrapped property requires use of type information: cannot serialize without disabling `SerializationFeature.FAIL_ON_UNWRAPPED_TYPE_IDENTIFIERS` 해당 dto의 프로퍼티는 클래스였고, @JsonUnwrap..