SpringTask之Cron 表示式的使用
阿新 • • 發佈:2018-12-06
1.他有6個域和7個域兩種方式
6: 秒 , 分 , 時, 天, 月 , 周
7:秒 , 分 , 時, 天, 月 , 周 , 年
每個域的符號意思
* : 全部的意思,比如如果是秒則為每秒, 分鐘為沒分鐘
/ : 表示一個間隔 num1/num2 表示 num1 開始 , 每num2 執行一次
- : 也是一段間隔 num1/num2 表示每num1到num2之間才執行
, : 表示在指定的時候指定 , 比如 num1,num2,num..., numN
? : 表示不給值,只能在月和周域中使用,兩個域中如果與有一個指定了具體的值,則另一個必須使用? ,因為他們互相沖突
練習
0(秒) 0(分) 2(時) 1(天) *(月) ?(周) * (年) 表示在每年的每月的第1天的2點
在專案中使用
1.1 加入依賴
<dependencies> <!-- Spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jms</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.28</version> </dependency> <dependency> <groupId>javassist</groupId> <artifactId>javassist</artifactId> <version>3.11.0.GA</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> </dependencies>
1.2 配置檔案
開啟註解驅動
<?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:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:task="http://www.springframework.org/schema/task" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.2.xsd"> <context:component-scan base-package="com.alibaba.task"/> <task:annotation-driven/> </beans>
bean
@Component
public class SeckillTask {
@Scheduled(cron="0-3 * * * * ?")
public void refreshSeckilGoods(){
System.out.println("執行了任務排程"+new Date());
}
}