zoukankan      html  css  js  c++  java
  • 十五、springboot集成定时任务(Scheduling Tasks)(二)之(线程配置)

    配置类:

    /**
     * 定时任务线程配置
     * 
     */
    @Configuration
    public class SchedulerConfig implements SchedulingConfigurer {
    
        @Override
        public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
            // 设置定时任务并发数目
            taskRegistrar.setScheduler(Executors.newScheduledThreadPool(100));
        }
    
    }

    定时任务执行方式:

      单线程(串行)
      多线程(并行)

    并行任务和异步任务的配置:

      SchedulingConfigurer: 将线程池注入TaskScheduler,并与ScheduledTaskRegistrar 关联;
      AsyncConfigurer:用于异步处理

    @Configuration
    @EnableScheduling
    public class ScheduleConfig implements SchedulingConfigurer, AsyncConfigurer
    {
    
    /*
    * 并行任务
    */
    public void configureTasks(ScheduledTaskRegistrar taskRegistrar)
    {
    TaskScheduler taskScheduler = taskScheduler();
    taskRegistrar.setTaskScheduler(taskScheduler);
    }
    
    /**
    * 并行任务使用策略:多线程处理(配置线程数等)
    * 
    * @return ThreadPoolTaskScheduler 线程池
    */
    @Bean(destroyMethod = "shutdown")
    public ThreadPoolTaskScheduler taskScheduler()
    {
    ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();
    scheduler.setPoolSize(20);
    scheduler.setThreadNamePrefix("task-");  //设置线程名开头
    scheduler.setAwaitTerminationSeconds(60);
    scheduler.setWaitForTasksToCompleteOnShutdown(true);
    return scheduler;
    }
    
    /*
    * 异步任务
    */
    public Executor getAsyncExecutor()
    {
    Executor executor = taskScheduler();
    return executor;
    }
    
    /*
    * 异步任务 异常处理
    */
    public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler()
    {
    return new SimpleAsyncUncaughtExceptionHandler();
    }
    }
  • 相关阅读:
    客户端本地存储,web存储,localStorage
    js地理定位对象 navigator.geolocation
    使用defined和require引入js
    VUE的使用方法
    $.each()的用法
    jQuery的deferred对象详解
    jquery 中prop()的使用方法
    IE7下对某些seajs压缩文件不兼容的解决方法
    饼状图注释
    $.grep()的用法
  • 原文地址:https://www.cnblogs.com/soul-wonder/p/9051477.html
Copyright © 2011-2022 走看看