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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。