[SpringBoot] 스프링 부트 비동기 처리(@Async) 이해와 적용 방법

• 비동기 처리를 위해 Spring Boot에서는 @EnableAsync와 @Async 어노테이션을 사용하며, 결과가 필요한 경우 Future 또는 CompletableFuture를 활용할 수 있습니다.
• 같은 클래스 내에서 @Async 메서드를 호출하면 비동기 처리가 되지 않으며, 비동기 처리 중 발생하는 예외는 별도로 처리해야 합니다.
• ThreadPoolTaskExecutor를 사용하여 스레드풀을 커스터마이즈할 수 있으며, corePoolSize, maxPoolSize, QueueCapacity 설정을 통해 병목 현상을 방지해야 합니다.
• TaskDecorator를 활용하여 비동기 작업 실행 시 커스텀 로그나 컨텍스트 설정이 가능하며, MDC 복사나 사용자 정의 로그 기록 패턴이 널리 사용됩니다.

북마크
공유하기
신고하기