ScheduleConfiguration.java 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. package com.tocean.app.config;
  2. import lombok.extern.slf4j.Slf4j;
  3. import org.springframework.context.annotation.Bean;
  4. import org.springframework.context.annotation.Configuration;
  5. import org.springframework.scheduling.annotation.SchedulingConfigurer;
  6. import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
  7. import org.springframework.scheduling.config.ScheduledTaskRegistrar;
  8. /**
  9. * 功能描述:
  10. */
  11. @Slf4j
  12. @Configuration
  13. public class ScheduleConfiguration implements SchedulingConfigurer {
  14. @Override
  15. public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
  16. taskRegistrar.setTaskScheduler(threadPoolTaskScheduler());
  17. }
  18. @Bean
  19. public ThreadPoolTaskScheduler threadPoolTaskScheduler() {
  20. ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
  21. taskScheduler.setPoolSize(5);
  22. taskScheduler.setWaitForTasksToCompleteOnShutdown(true);
  23. taskScheduler.setThreadNamePrefix("schedule");
  24. taskScheduler.setRemoveOnCancelPolicy(true);
  25. taskScheduler.setErrorHandler(t -> log.error("Error occurs", t));
  26. return taskScheduler;
  27. }
  28. }