zoukankan      html  css  js  c++  java
  • Spring task定时任务

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.umgsai</groupId>
        <artifactId>spring-cron</artifactId>
        <version>1.0-SNAPSHOT</version>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>4.2.4.RELEASE</version>
            </dependency>
        </dependencies>
    </project>
    

    Spring配置如下

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context"
           xmlns:task="http://www.springframework.org/schema/task"
           xsi:schemaLocation="
                http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
                http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
                http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.1.xsd">
    
        <!-- 配置注解扫描 -->
        <context:component-scan base-package="com.umgsai.spring.task"/>
    
        <task:scheduler id="taskScheduler" pool-size="100" />
    
        <task:scheduled-tasks scheduler="taskScheduler">
            <!-- 每半分钟触发任务 -->
            <task:scheduled ref="task" method="task1" cron="30 * * * * ?"/>
            <!-- 每小时的10分30秒触发任务 -->
            <task:scheduled ref="task" method="task2" cron="30 10 * * * ?"/>
            <!-- 每天1点10分30秒触发任务 -->
            <task:scheduled ref="task" method="task3" cron="30 10 1 * * ?"/>
            
            <!-- 每月20号的1点10分30秒触发任务 -->
            <task:scheduled ref="task" method="task4" cron="30 10 1 20 * ?"/>
            <!-- 每年10月20号的1点10分30秒触发任务 -->
            <task:scheduled ref="task" method="task5" cron="30 10 1 20 10 ?"/>
            <!-- 每15秒、30秒、45秒时触发任务 -->
            <task:scheduled ref="task" method="task6" cron="15,30,45 * * * * ?"/>
            <!-- 15秒到45秒每隔1秒触发任务 -->
            <task:scheduled ref="task" method="task7" cron="15-45 * * * * ?"/>
            <!-- 每分钟的每15秒时任务任务,每隔5秒触发一次 -->
            <task:scheduled ref="task" method="task8" cron="15/5 * * * * ?"/>
            <!-- 每分钟的15到30秒之间开始触发,每隔5秒触发一次 -->
            <task:scheduled ref="task" method="task9" cron="15-30/5 * * * * ?"/>
            <!-- 每小时的0分0秒开始触发,每隔3分钟触发一次 -->
            <task:scheduled ref="task" method="task10" cron="0 0/3 * * * ?"/>
            <!-- 星期一到星期五的10点15分0秒触发任务 -->
            <task:scheduled ref="task" method="task11" cron="0 15 10 ? * MON-FRI"/>
        </task:scheduled-tasks>
    
    </beans>
    
    package com.umgsai.spring.task;
    
    import org.springframework.stereotype.Component;
    import java.util.Date;
    
    /**
     * Created by shangyidong on 16/10/23.
     */
    @Component
    public class Task {
        public void task1(){
            System.out.printf("Task: %s, Current time: %s
    ", 1, new Date().toLocaleString());
        }
    
        public void task2(){
            System.out.printf("Task: %s, Current time: %s
    ", 2, new Date().toLocaleString());
        }
    
        public void task3(){
            System.out.printf("Task: %s, Current time: %s
    ", 3, new Date().toLocaleString());
        }
    
        public void task4(){
            System.out.printf("Task: %s, Current time: %s
    ", 4, new Date().toLocaleString());
        }
    
        public void task5(){
            System.out.printf("Task: %s, Current time: %s
    ", 5, new Date().toLocaleString());
        }
    
        public void task6(){
            System.out.printf("Task: %s, Current time: %s
    ", 6, new Date().toLocaleString());
        }
    
        public void task7(){
            System.out.printf("Task: %s, Current time: %s
    ", 7, new Date().toLocaleString());
        }
    
        public void task8(){
            System.out.printf("Task: %s, Current time: %s
    ", 8, new Date().toLocaleString());
        }
    
        public void task9(){
            System.out.printf("Task: %s, Current time: %s
    ", 9, new Date().toLocaleString());
        }
    
        public void task10(){
            System.out.printf("Task: %s, Current time: %s
    ", 10, new Date().toLocaleString());
        }
    
        public void task11(){
            System.out.printf("Task: %s, Current time: %s
    ",11, new Date().toLocaleString());
        }
    
    }
    
    public class Main {
        public static void main(String[] args){
            ApplicationContext context = new ClassPathXmlApplicationContext("classpath:/applicationContext.xml");
        }
    }
    

    启动spring容器即可。

  • 相关阅读:
    #575. 「LibreOJ NOI Round #2」不等关系
    P4494 [HAOI2018]反色游戏
    P6378 [PA2010] Riddle
    子集卷积
    躯壳
    C++11、14、17里的lambda表达式简介
    数据结构与算法复习——7、斐波那契堆和配对堆
    数据结构与算法复习——6、二项队列及其分析
    数据结构与算法复习——5、摊还分析入门
    高等代数(二)预习——4、唯一因式分解定理
  • 原文地址:https://www.cnblogs.com/umgsai/p/5989266.html
Copyright © 2011-2022 走看看