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容器即可。

  • 相关阅读:
    hdu 1241 Oil Deposits(dfs入门)
    hdu 1022 Train Problem I(栈)
    DFS中的奇偶剪枝(转自chyshnu)
    ural 1821. Biathlon
    hdu 1237 简单计算器(栈)
    hdu 1010 Tempter of the Bone(dfs+奇偶剪枝)
    1119. Metro(动态规划,滚动数组)
    hdu 1312 Red and Black(dfs入门)
    C#匿名委托和匿名方法使用小技巧
    ubuntu下netbeans乱码问题解决
  • 原文地址:https://www.cnblogs.com/umgsai/p/5989266.html
Copyright © 2011-2022 走看看