• 16点睛Spring4.1-TaskScheduler


    转发:https://www.iteye.com/blog/wiselyman-2213049

    16.1 TaskScheduler

    • 提供对计划任务提供支持;
    • 使用@EnableScheduling开启计划任务支持
    • 使用@Scheduled来注解计划任务的方法;

    16.2 示例

    演示后台间断执行任务和定时计划任务

    16.2.1 计划任务的配置

    @Configuration
    @EnableScheduling
    public class DemoConfig {
    
    }
    

    16.2.2 计划配置任务类

    package com.wisely.task.scheduler;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    import org.springframework.scheduling.annotation.Scheduled;
    import org.springframework.stereotype.Component;
    
    @Component
    public class DemoScheduledTask {
    
      private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
    
      @Scheduled(fixedRate = 5000) //每五秒执行一次
      public void reportCurrentTime() {
           System.out.println("每隔五秒执行一次 " + dateFormat.format(new Date()));
       }
    
      @Scheduled(cron = "0 22 11 ? * *"  ) //每天上午11点22执行
      public void fixTimeExecution(){
          System.out.println("在指定时间 " + dateFormat.format(new Date())+"执行");
      }
    
    
    
    }
    

    16.2.3 测试

    package com.wisely.task.scheduler;
    
    import org.springframework.context.annotation.AnnotationConfigApplicationContext;
    
    public class Main {
    
        @SuppressWarnings({ "unused", "resource" })
        public static void main(String[] args) {
            AnnotationConfigApplicationContext context =
                    new AnnotationConfigApplicationContext("com.wisely.task.scheduler");
    
        }
    
    }
    

    输出结果

    每隔五秒执行一次 11:21:42
    每隔五秒执行一次 11:21:47
    每隔五秒执行一次 11:21:52
    每隔五秒执行一次 11:21:57
    在指定时间 11:22:00执行
    每隔五秒执行一次 11:22:02
  • 相关阅读:
    2032 杨辉三角
    2023 求平均成绩
    幸运数
    扑克牌大小
    single-number
    合唱队
    Problem A: 【字符串】最长回文子串
    Problem A: 最大连续子序列
    数串
    02CSS3基本语法05
  • 原文地址:https://www.cnblogs.com/Jeely/p/11949994.html
Copyright © 2020-2023  润新知