[Spring] 비동기 작업과 모니터링을 위한 TaskExecutor, TaskScheduler 기본
Spring Framework는 TaskExecutor 인터페이스와 TaskScheduler 인터페이스로 Task(작업)의 비동기 실행과 스케줄링에 대한 추상화 인터페이스를 제공합니다. 이런 것이 필요한 이유는 무엇일까요? 기본적으로 Spring은 Multi-Thread 방식을 사용하며 Singleton Pattern을 이용해 모든 Bean들을 공유하여 사용합니다. 하지만 이는 기본적으로 API를 호출하는 과정을 Blocking하지 않고 다중 사용자가 요청을 받을 수 있도록 처리한다는 뜻입니다. 따라서 우리가 API 호출 이후 Bean 내 어떤 특정 작업에 대한 비동기 실행은 보장되지 않습니다. TaskExecutor TaskExecutor는 Spring 2.0에서 등장한 비동기 실행 추상화 인터페이스로..