首页 > 其他 > 详细

Hutool工具-定时任务的使用

时间:2021-09-02 21:28:49      阅读:18      评论:0      收藏:0      [点我收藏+]

https://www.hutool.cn/docs/#/core

代码示例:

技术分享图片

1、pom.xml的配置

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>test09202</artifactId>
    <version>1.0-SNAPSHOT</version>
    
<dependencies>
    <!--springboot项目最基本的依赖的配置-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
        <version>2.2.0.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <version>2.2.0.RELEASE</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>2.2.0.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13</version>
        <scope>test</scope>
    </dependency>
    <!--lombok依赖的配置-->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.4</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>cn.hutool</groupId>
        <artifactId>hutool-all</artifactId>
        <version>5.1.0</version>
    </dependency>
</dependencies>
</project>

2、cron.setting定时任务的时间设置

#执行的类或对象方法所在的包的名字
[com.xdh.controller]

#需要执行的类名和方法
#每1分钟执行一次
TestHutoolCron.TestHutoolCron111 =* */1 * * *
#每10秒执行一次
TestHutoolCron.TestHutoolCron222 =*/10 * * * * *

#如果有第二个不同包的定时任务也可以继续添加[]里面是包名
#第二个包名
[com.xdh.controller2]

#每2分钟执行一次
TestHutoolCron2.TestHutoolCron01 =* */2 * * *
#每20秒执行一次
TestHutoolCron2.TestHutoolCron02 =*/20 * * * * *

3、TestHutoolCron代码

import cn.hutool.core.date.DateUtil;
import cn.hutool.log.Log;
import cn.hutool.log.LogFactory;
import java.util.Date;

public class TestHutoolCron {

    private static final Log log = LogFactory.get();

    public void TestHutoolCron111(){
        System.out.println("定时任务,每1分钟执行一次"+ DateUtil.formatDateTime(new Date()));
    }
    public void TestHutoolCron222(){
        System.out.println("定时任务,每10秒执行一次"+ DateUtil.formatDateTime(new Date()));
    }
}

4、TestHutoolCron2代码

import cn.hutool.core.date.DateUtil;
import cn.hutool.log.Log;
import cn.hutool.log.LogFactory;
import java.util.Date;

public class TestHutoolCron2 {
    private static final Log log = LogFactory.get();

    public void TestHutoolCron01(){
        System.out.println("定时任务,每2分钟执行一次"+ DateUtil.formatDateTime(new Date()));
    }
    public void TestHutoolCron02(){
        System.out.println("定时任务,每20秒执行一次"+ DateUtil.formatDateTime(new Date()));
    }
}

5、SpringBoot启动类代码

import cn.hutool.core.lang.Console;
import cn.hutool.cron.CronUtil;
import cn.hutool.cron.task.Task;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SpringBootQuartzApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringBootQuartzApplication.class,args);

        //动态的添加定时任务每5秒执行一次
        CronUtil.schedule("*/5 * * * * *", new Task() {
            @Override
            public void execute() {
                Console.log("动态定时任务,每5秒执行一次");
            }
        });
        //支持秒级
        CronUtil.setMatchSecond(true);
        //开启定时任务
        CronUtil.start(true);
    }
}

测试结果:

动态定时任务,每5秒执行一次
动态定时任务,每5秒执行一次
定时任务,每20秒执行一次2021-09-02 17:28:40
定时任务,每10秒执行一次2021-09-02 17:28:40
动态定时任务,每5秒执行一次
动态定时任务,每5秒执行一次
定时任务,每10秒执行一次2021-09-02 17:28:50
动态定时任务,每5秒执行一次
动态定时任务,每5秒执行一次
定时任务,每10秒执行一次2021-09-02 17:29:00
定时任务,每20秒执行一次2021-09-02 17:29:00
动态定时任务,每5秒执行一次
动态定时任务,每5秒执行一次
定时任务,每10秒执行一次2021-09-02 17:29:10
动态定时任务,每5秒执行一次
动态定时任务,每5秒执行一次
定时任务,每10秒执行一次2021-09-02 17:29:20
定时任务,每20秒执行一次2021-09-02 17:29:20
动态定时任务,每5秒执行一次
动态定时任务,每5秒执行一次
定时任务,每10秒执行一次2021-09-02 17:29:30
定时任务,每1分钟执行一次2021-09-02 17:29:30
动态定时任务,每5秒执行一次
动态定时任务,每5秒执行一次
定时任务,每20秒执行一次2021-09-02 17:29:40
定时任务,每10秒执行一次2021-09-02 17:29:40
动态定时任务,每5秒执行一次
动态定时任务,每5秒执行一次
定时任务,每10秒执行一次2021-09-02 17:29:50

Hutool工具-定时任务的使用

原文:https://www.cnblogs.com/nastu/p/15219869.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!