作者:木扎尔特2502918527 | 来源:互联网 | 2023-08-28 16:07
https://www.hutool.cn/docs/#/core
代码示例:
1、pom.xml的配置
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">
4.0.0
org.example
test09202
1.0-SNAPSHOT
org.springframework.boot
spring-boot-starter
2.2.0.RELEASE
org.springframework.boot
spring-boot-starter-test
2.2.0.RELEASE
test
org.springframework.boot
spring-boot-starter-web
2.2.0.RELEASE
junit
junit
4.13
test
org.projectlombok
lombok
1.18.4
provided
cn.hutool
hutool-all
5.1.0
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
原文链接:https://www.cnblogs.com/nastu/p/15219869.html