Spring 注解方式定时任务
@Schedule(cron="0 0 0/1 * * ?")
任务表达式在线校验工具
http://www.cronmaker.com/
1、官方文档
https://docs.spring.io/spring-framework/docs/4.3.13.RELEASE/spring-framework-reference/pdf/spring-framework-reference.pdf
2、例子
package com.cbh.controller; import com.cbh.model.User; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; /** * User: cbh * Date: 2018/4/24 * Time: 13:46 * Description: */ @Controller public class IndexController {
//@Scheduled(cron = "* * * * * * *") // @Scheduled(cron = "0/1 * * * * ?") // @Scheduled(cron = "0 * 16 * * ?") @Scheduled(cron = "0/5 * * * * ?") //每5秒执行一次 public void timedTask1() { System.out.println("Timed task1:" + System.currentTimeMillis()); } @Scheduled(cron = "0/10 * * * * ?") //每10秒执行一次 public void timedTask2() { System.out.println("Timed task2:" + System.currentTimeMillis()); } }
配置文件:
<?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:mvc="http://www.springframework.org/schema/mvc" xmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd"> <context:component-scan base-package="com.cbh.controller"/> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/"/> <property name="suffix" value=".jsp"/> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> </bean> <mvc:annotation-driven/> <mvc:default-servlet-handler/> <task:scheduler id="myScheduler" pool-size="5"/> <task:annotation-driven scheduler="myScheduler"/> <task:annotation-driven/>