Spring boot2集成quartz动态任务管理+Web UI

本文介绍了如何使用Spring Boot2结合Quartz实现动态任务管理,包括Web界面操作任务的创建、删除、停止和运行。项目通过Quartz的Trigger、Scheduler和JobDetail等组件进行任务调度,并通过反射实现任务类与Job接口的解耦。同时提供了项目源码链接及关键类的实现说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Dynamic Quartz

​ 最近在公司实习,发现公司有一套spring+Quartz的动态任务管理系统。可以使用Web界面进行任务动态的创建、删除、停止、运行和修改。刚好最近在学习spring boot。便使用spring boot2+quartz+thymeleaf+mysql数据库实现了一个简单的动态任务管理系统。

项目使用方法:

使用IDEA打开该项目,并把application.properties中数据信息修改为自己的数据信息即可。同时把sql文件夹下的sql文件导入到数据中即可。项目地址:http://localhost:8080/

项目地址Github地址:Quartz动态任务调度系统

项目如下图所示:
这里写图片描述

Quartz

quartz是一个java编写的开源任务调度框架其主要调度元素有:

  • Trigger(触发器):触发任务任务执行的时间或规则。在任务调度Quartz中,Trigger主要的触发器有:SimpleTrigger,CalendarIntervelTrigger,DailyTimeIntervalTrigger,CronTrigger
  • Scheduler(任务调度器):Scheduler就是任务调度控制器,需要把JobDetail和Trigger注册到schedule中,才可以执行 ;Scheduler有两个重要组件:ThreadPool和JobStore。
  • Job(任务):是一个接口,其中只有一个execute方法。开发者只要实现接口中的execute方法即可。
  • JobDetail(任务细节):Quartz执行Job时,需要新建Job实例,但不能直接操作Job类,所以通过JobDetail获得Job的名称,描述信息。

对象之间的关系图如图下图所示:

这里写图片描述

这里写图片描述

Spring boot2集成quartz

  1. 添加quartz依赖

    <dependency>
    <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-quartz</artifactId>
    </dependency>
  2. 添加spring boot2的web 、thymeleaf、依赖

    <!--web相关的依赖-->
    <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!--添加集成Thymeleaf的依赖-->
    <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-websocket</artifactId>
    </dependency>
    <dependency>
           <groupId>org.springframework.boot
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值