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();
    }
    }
  • 相关阅读:
    设备管理器里“SM总线控制器”、“其它PCI桥设备”驱动有问题
    MapReduce实现两表的Join--原理及python和java代码实现
    Calendar类经常用法 日期间的转换 set方法有巨坑
    Java 装饰模式(4.4)
    LoadRunner访问Mysql数据库(转)
    linux下定时执行任务的方法
    docker 常用命令
    Docker exec与Docker attach
    docker容器跨服务器的迁移方式export和save(转)
    cpu时间 / cpu利用率计算
  • 原文地址:https://www.cnblogs.com/soul-wonder/p/9051477.html
Copyright © 2011-2022 走看看