본문 바로가기

Spring72

[spring 23편] spring boot 3.2.1 적용 회고 목차는 spring series 목차 에 있습니다. [spring 23편] spring boot 3.2.1 적용 회고 나중에 볼려고 정리했습니다. Intro spring boot 3.2.1 적용해보며 경험했던 점을 정리했습니다. 기억이 나는데로 적었으며, 틀린 내용이 있을 수 있습니다. 지금 글을 쓰는 시점에 spring boot 3.2.2 가 나왔습니다. Parameter Name Discovery spring boot 3.2.1 적용하면서 bean 을 가져올 때(생성자 주입 또는 Autowired 등), 빈이 2개 이상 발견됐다는 에러가 발생했습니다. 해결방안은 Qualified 를 사용해서 bean 을 명시적으로 주입합니다. 아래 패치 내용으로 인해 그런 것이라 추정됩니다. 확실하지 않습니다. Th.. 2024. 2. 20.
[spring 22편] 멀티스레드 환경 로그 식별 (MDC, ThreadLocal) 목차는 spring series 목차 에 있습니다. [spring 22편] 멀티스레드 환경 로그 식별 (MDC, ThreadLocal) 나중에 볼려고 정리했습니다. 상황 멀티 스레드 환경에서 로그를 찍다보면 식별이 안되는 경우가 있습니다. 멀티스레드 환경에서는 컨텍스트 스위칭이 일어나 실행이 되기 때문에 로그가 섞이기 때문입니다. 이를 해결하는 방법중 Correlation ID 라는 것이 있습니다. Correlation ID, ThreadLocal 위와 같은 상황을 해결하기 위해 같은 스레드 요청에 대해 특정 ID 를 부여해 grouping 할 수 있습니다. 이를 Correlation ID 라고 합니다. 자바에서는 이를 구현하기 위해 ThreadLocal 을 제공하며, ThreadLocal 은 동일한 스.. 2023. 10. 6.
[spring redis 1편] 분산락 (redis, spring) 목차는 spring redis 목차 에 있습니다. [spring redis 1편] 분산락 (redis, spring, lettuce) RedisLockRegistry spring integration 에서 제공해주는 Redis 분산락 입니다. spin lock, pub-sub lock 옵션을 제공하며, pub-sub 이 성능상 이유로 선호 됩니다. spin lock 은 주기적으로 lock 을 획득하며, pub-sub 은 pub-sub 구조로 lock 을 획득하기에 성능상 유리합니다. 어떻게 동작하는지? LockRegistry 는 UUID 와 lock 의 map 을 메모리에 가지고 있습니다. lockRegistry 는 일종의 lock 저장소입니다. lockRegistry 에서 lock 을 획득하려고 할 때.. 2023. 10. 5.
[spring 21편] mapstruct 활용 2번째 (expression 사용) source 는 Github 에 있습니다. 목차는 spring series 목차 에 있습니다. [spring 21편] mapstruct 활용 2번째 (expression 사용) mapstruct expression 활용 expression 을 통해 source list --> target list 으로 convert 하는 예제를 정리했습니다. Source 2023. 1. 21.