42. 작업 실행 및 스케줄링 by ys
Executor
컨텍스트에서 빈이 없으면 스프링 부트는 비동기 태스크 실행 ( @EnableAsync
)과 스프링 MVC 비동기 요청 처리와 자동으로 연관 될 수있는 적절한 기본값과 ThreadPoolTaskExecutor
을 자동으로 구성한다 .
컨텍스트에서 커스텀 자동 구성된 |
스레드 풀은 로드에 따라 확장 및 축소 할 수있는 8 개의 코어 스레드를 사용합니다. 이러한 기본 설정은 다음 예와 같이 spring.task.execution
네임 스페이스를 사용하여 세부 조정할 수 있습니다 .
이렇게하면 스레드 풀이 바운드 큐를 사용하도록 변경되므로 큐가 가득 차면 (100 개의 작업) 스레드 풀이 최대 16 개의 스레드로 증가합니다. 스레드가 10 초 동안 유휴 상태 일 때 (기본적으로 60 초가 아닌) 스레드가 재생되면서 풀 축소가 더 적극적입니다.
예약 된 작업 실행 ( @EnableScheduling
)에 연결해야하는 경우ThreadPoolTaskScheduler
도 자동 구성 할 수 있습니다 . 스레드 풀은 기본적으로 하나의 스레드를 사용하며 이러한 설정은 spring.task.scheduling
네임 스페이스를 사용하여 세부 조정할 수 있습니다 .
TaskExecutorBuilder
Bean과 TaskSchedulerBuilder
Bean 둘다 사용자 정의 실행 프로그램 또는 스케줄러를 작성해야 할 경우 컨텍스트에서 사용 가능하게됩니다.
Last updated