package com.tocean.app.config; import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.SchedulingConfigurer; import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; import org.springframework.scheduling.config.ScheduledTaskRegistrar; /** * 功能描述: */ @Slf4j @Configuration public class ScheduleConfiguration implements SchedulingConfigurer { @Override public void configureTasks(ScheduledTaskRegistrar taskRegistrar) { taskRegistrar.setTaskScheduler(threadPoolTaskScheduler()); } @Bean public ThreadPoolTaskScheduler threadPoolTaskScheduler() { ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler(); taskScheduler.setPoolSize(5); taskScheduler.setWaitForTasksToCompleteOnShutdown(true); taskScheduler.setThreadNamePrefix("schedule"); taskScheduler.setRemoveOnCancelPolicy(true); taskScheduler.setErrorHandler(t -> log.error("Error occurs", t)); return taskScheduler; } }