springboot+Quartz来实现动态的定时任务

先在pom.xml中导入依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-quartz</artifactId>
</dependency>

JAVA配置类

package cn.wideth.util;import org.quartz.*;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** quartz的配置类*/
@Configuration
public class QuartzConfig {@Beanpublic JobDetail printTimeJobDetail(){return JobBuilder.newJob(PrintTimeJob.class)//PrintTimeJob我们的业务类.withIdentity("PrintTimeJob")//可以给该JobDetail起一个id//每个JobDetail内都有一个Map,包含了关联到这个Job的数据,在Job类中可以通过context获取.usingJobData("msg", "Hello Quartz")//关联键值对.storeDurably()//即使没有Trigger关联时,也不需要删除该JobDetail.build();}@Beanpublic Trigger printTimeJobTrigger() {//此处的时间可以灵活配置,和数据库进行交互Integer time = 2;StringBuffer cron = new StringBuffer();//注意cron表达式要书写正确,注意格式cron.append("*/").append(String.valueOf(time)).append(" * * * * ?");CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(cron.toString());return TriggerBuilder.newTrigger().forJob(printTimeJobDetail())//关联上述的JobDetail.withIdentity("quartzTaskService")//给Trigger起个名字.withSchedule(cronScheduleBuilder).build();}
}

JAVA定时任务业务逻辑处理类

package cn.wideth.util;import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;
import java.text.SimpleDateFormat;
import java.util.Date;/*** 定时任务业务处理类,我们继承QuartzJobBean* 重写executeInternal方法来实现具体的定时业务逻辑*/
public class PrintTimeJob extends QuartzJobBean {@Overrideprotected void executeInternal(JobExecutionContext context) throws JobExecutionException {//获取JobDetail中关联的数据String msg = (String) context.getJobDetail().getJobDataMap().get("msg");System.out.println("current time :"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + "---" + msg);}
}

使用Quartz来实现动态定时任务相关推荐

  1. springboot和quartz整合实现动态定时任务(持久化单节点)

    Quartz是一个完全由java编写的开源作业调度框架,为在Java应用程序中进行作业调度提供了简单却强大的机制,它支持定时任务持久化到数据库,从而避免了重启服务器时任务丢失,支持分布式多节点,大大的 ...

  2. Quartz在Spring中设置动态定时任务 .

    什么是动态定时任务: 是由客户制定生成的,服务端只知道该去执行什么任务,但任务的定时是不确定的(是由客户制定).这样总不能修改配置文件每定制个定时任务就增加一个trigger吧,即便允许客户修改配置文 ...

  3. Quartz在Spring中动态设置cronExpression (spring设置动态定时任务)

    2019独角兽企业重金招聘Python工程师标准>>> 什么是动态定时任务:是由客户制定生成的,服务端只知道该去执行什么任务,但任务的定时是不确定的(是由客户制定). 这样总不能修改 ...

  4. java quartz 动态执行,浅谈SpringBoot集成Quartz动态定时任务

    SpringBoot自带schedule 沿用的springboot少xml配置的优良传统,本身支持表达式等多种定时任务 注意在程序启动的时候加上@EnableScheduling @Schedule ...

  5. 动态定时任务数据库获取方式

    Spring 中,创建定时任务除了使用@Scheduled 注解外,还可以使用 SchedulingConfigurer. @Schedule 注解有一个缺点,其定时的时间不能动态的改变,而基于 Sc ...

  6. 定时任务:创建静态定时任务、动态定时任务

    定时任务有三种实现 1 jdk自带的定时任务 2 Quartz插件实现的定时任务,需要引入额外的包 3 SpringTask定时调度,是对jdk的再一次封装,不用引入其他包了,用spring的包就自带 ...

  7. ASP.NET Core 2.2+Quartz.Net 实现Web定时任务

    作者:Julian_酱 链接:http://www.cnblogs.com/mi12205599/p/10361763.html 作为一枚后端程序狗,项目实践常遇到定时任务的工作,最容易想到的的思路就 ...

  8. ASP.NET Core+Quartz.Net实现web定时任务

    点击蓝色"Dotnet Plus"关注我哟 加个"星标",每天清晨 07:25,干货推送! 作为一枚后端程序狗,项目实践常遇到定时任务的工作,最容易想到的的思路 ...

  9. python apscheduler 动态_基于Flask-APScheduler实现添加动态定时任务

    阅读目录 一.apSheduler 二.Flask-APScheduler 三.动态定时任务 四.uwsgi部署注意事项 一.apSheduler 第一部分内容限于apSheduler3.0以下版本, ...

最新文章

  1. 湖南网络推广浅析外链怎么发才会更快的收录?
  2. 只有学霸才懂的学习技巧,看完脑洞大开,绝对涨姿势!
  3. QT项目开发与团队合作
  4. UCSD本科数学计算机专业前景如何,2020年UCSD计算机工程排名真该小心来考查
  5. 使用vsphere平台部署xendesktop时注意事项。
  6. pc控制iphone的软件_iPhone照片视频传输及HEIC照片转档
  7. 敏捷开发系列学习总结(9)——10大流行编程方法
  8. String中的==与Empty
  9. Asp.net发布网站
  10. 动态通讯录(动态内存开辟)(C语言)
  11. c++获取ctrl+v内容_WPS表格——CTRL快捷键的用法
  12. W3CSchool CHM API 帮助文档(全)
  13. 【JY】YJK前处理参数详解及常见问题分析(六):地震信息
  14. 数据分类分级指南分级方法
  15. 一维码Code 128简介及其解码实现 zxing-cpp
  16. Linux将一个文件夹或文件夹下的所有内容复制到另一个文件夹
  17. android 入门教程速成,Android入门基础教程(小白速成1)
  18. 用python做一个木马_Python编程简单的木马程序(转载于乌云中)
  19. 全球及中国红外探测器芯片行业发展动态及投资应用前景调研报告2021-2027年
  20. 定制XP的启动界面更换背景图和windows字样

热门文章

  1. mysql初始化主机名无法解析
  2. 删除 Tomcat 上次关闭遗留下来的 SESSION 缓存
  3. server2008密码不满足密码策略的要求,检查最小密码长度、密码复杂性和密码历史的要求”的解决办法...
  4. 迪米特法则(设计模式5)
  5. MAC OS X Yosemite安装与试用
  6. Jquery根据JSON生成Table
  7. 浏览器根对象document之字符串属性
  8. Apache Kafka – KIP 32,33 Time Index
  9. Stooge排序与Bogo排序算法
  10. HBase与关系数据库