springtask 的基本使用和 cron 表達式
spring 容器依賴
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
開啟任務注解驅動。即掃描的時候掃描 springtask 相關的注解。
<?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.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.mozq.task"/>
<task:annotation-driven/>
</beans>
准備 Spring 容器 + 定時任務
為了使用 springtask 需要准備 spring 容器和定時任務。通過 main 方法創建 spring 容器。@Scheduled 注解創建定時任務。
package com.mozq.task;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
public class TaskDemo {
@Scheduled(cron="* * * * * ?")
public void sendOrderMessage(){
System.out.println("發送訂單消息");
}
public static void main(String[] args) throws InterruptedException {
ClassPathXmlApplicationContext app = new ClassPathXmlApplicationContext("spring-task.xml");
Thread.sleep(1000);
}
}