当前位置 主页 > 网站技术 > 代码类 >

    springtask 的使用方法和 cron 表达式解析

    栏目:代码类 时间:2019-11-10 18:03

    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

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