Skip to content

更轻量化的任务调度功能,完全基于Spring Scheduling Tasks开发,可以动态添加、删除任务调度,可以将Bean转化为任务调度执行。

License

Notifications You must be signed in to change notification settings

wb04307201/dynamic-schedule-spring-boot-starter

Repository files navigation

dynamic-schedule-spring-boot-starter

star fork star fork
MIT JDK SpringBoot

更轻量化的任务调度功能,完全基于Spring Scheduling Tasks开发,
可以动态添加、删除任务调度,
可以将Bean转化为任务调度执行。

代码示例

  1. 使用Spring任务调度消息中间件动态编译工具实体SQL工具实现的在线编码、动态调度、发送钉钉群消息、快速构造web页面Demo

第一步 增加 JitPack 仓库

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

第二步 引入jar

1.1.0版本后升级到jdk17 SpringBoot3+

<dependency>
    <groupId>com.gitee.wb04307201</groupId>
    <artifactId>dynamic-schedule-spring-boot-starter</artifactId>
    <version>1.1.1</version>
</dependency>

第三步 在启动类上加上@EnableDynamicSchedule注解

@EnableDynamicSchedule
@SpringBootApplication
public class FilePreviewDemoApplication {

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

}

第四步 注入service

    @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(任务名称);

About

更轻量化的任务调度功能,完全基于Spring Scheduling Tasks开发,可以动态添加、删除任务调度,可以将Bean转化为任务调度执行。

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages