轻量化动态调度线程池
基于Spring Scheduling Tasks开发,可以动态添加、删除任务调度,
可通过BeanMethodRunnable类将Bean中的方法转换成调度执行
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
1.1.0版本后升级到jdk17 SpringBoot3+
<dependency>
<groupId>com.gitee.wb04307201</groupId>
<artifactId>dynamic-schedule-spring-boot-starter</artifactId>
<version>1.1.2</version>
</dependency>
@EnableDynamicSchedule
@SpringBootApplication
public class FilePreviewDemoApplication {
public static void main(String[] args) {
SpringApplication.run(FilePreviewDemoApplication.class, args);
}
}
@Autowired
DynamicScheduledTaskService taskService;
taskService.add(任务名称, cron, Runable);
// 添加Cron表达式定时任务
taskService.add(任务名称, cron, () -> {// TODO 业务});
// 可以通过集成Runnable接口封装执行
taskService.add(任务名称, cron, new BeanMethodRunnable(bean名称, method名称, 方法入参));
// 添加固定延迟定时任务
taskService.addFixedDelayTask(任务名称, 延迟时间, 初始延迟时间, () -> {// TODO 业务});
// 添加固定频率定时任务
taskService.addFixedRateTask(任务名称, 定时时间间隔, 初始延迟时间, () -> {// TODO 业务});
taskService.cancel(任务名称);