springtask 基本使用和 cron 表达式

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);
    }
}

参考文档

https://docs.spring.io/spring/docs/5.1.9.RELEASE/spring-framework-reference/integration.html#scheduling

详解cron表达式

posted @ 2019-08-12 18:53  没有理由不会呀  阅读(1919)  评论(0编辑  收藏  举报