스프링 AOP
-
@Async, 생각보다 까다롭다.Java & Kotlin 2021. 11. 1. 00:53
1) 서론 요즘 @Async를 어느 때보다 많이 사용하고 있습니다. 사실 그동안 간단하게 애노테이션과 thread pool 설정만 하면 된다고 생각했습니다. 하지만 실제로 사용할 때 예상하는 것과 다른 흐름으로 동작하고, 은근히 까다롭다는 것을 느꼈습니다. 제가 사용하며 만난 문제점과 해결 과정을 기록합니다. 2) 문제의 코드 전체적인 콘셉트는 간단합니다. 파싱 해온 데이터를 원하는 방향으로 가공합니다. 이때 이름, 가격을 나눠서 가공하고 비동기 처리합니다. public class MainClas { public void trimAndAddWines(List names, List prices) { log.info("\n === trimAndAddWines() 시작 ==="); // @Async wineN..