当前位置: 首页 > news >正文

若依定时任务

表结构

在这里插入图片描述

目录

在这里插入图片描述
在这里插入图片描述

quartz框架

在这里插入图片描述
在这里插入图片描述

SysJobServiceImpl实现类

  • 使用切点,在构造器执行的时候执行定时任务的构建(这个类是交给IOC容器的,所以这个时间点就是项目启动的时候)
  • SysJobServiceImpl实现类的init方法

在这里插入图片描述

在这里插入图片描述

创建任务

    /*** 创建定时任务*/public static void createScheduleJob(Scheduler scheduler, SysJob job) throws SchedulerException, TaskException{// 获取Quartz任务类,根据任务是否允许并发执行选择不同的类Class<? extends Job> jobClass = getQuartzJobClass(job);// 构建JobDetail对象,包含任务的详细信息Long jobId = job.getJobId();String jobGroup = job.getJobGroup();JobDetail jobDetail = JobBuilder.newJob(jobClass).withIdentity(getJobKey(jobId, jobGroup)).build();// 构建CronScheduleBuilder对象,用于定义任务的调度计划CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(job.getCronExpression());cronScheduleBuilder = handleCronScheduleMisfirePolicy(job, cronScheduleBuilder);// 构建CronTrigger对象,包含任务的触发器信息CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity(getTriggerKey(jobId, jobGroup)).withSchedule(cronScheduleBuilder).build();// 将任务的相关参数放入JobDetail的JobDataMap中,运行时可以获取jobDetail.getJobDataMap().put(ScheduleConstants.TASK_PROPERTIES, job);// 判断任务是否已经存在,如果存在则先删除再创建if (scheduler.checkExists(getJobKey(jobId, jobGroup))){scheduler.deleteJob(getJobKey(jobId, jobGroup));}// 判断任务是否过期,如果未过期则调度任务if (StringUtils.isNotNull(

http://www.mrgr.cn/news/81856.html

相关文章:

  • k8s 镜像拉取策略
  • Java多线程中,synchronized和ReentrantLock的区别是什么?及使用场景有哪些?
  • 删除了overlay2 目录下的文件 存储空间(df -h)没有释放
  • PyTorch快速入门教程【小土堆】之损失函数与反向传播
  • ASP.NET Core Web API Hangfire
  • 你有哪些Deep Learning(RNN、CNN)调参的经验?
  • Qt 中实现系统主题感知
  • GAN对抗生成网络(一)——基本原理及数学推导
  • CSS 居中技术完全指南:从基础到高级应用
  • Java重要面试名词整理(十二):Netty
  • Windows Knowledge
  • RTLinux和RTOS基本知识
  • Oracle数据库中用View的好处
  • Doris使用注意点
  • java相关学习文档或网站整理
  • 小程序基础 —— 02 微信小程序账号注册
  • GDPU 数据库原理 期末复习(持续更新……)
  • 微信小程序 app.json 配置文件解析与应用
  • 小程序基础 —— 08 文件和目录结构
  • mybatis基础学习
  • 小程序配置文件 —— 13 全局配置 - window配置
  • csrf跨站请求伪造(portswigger)无防御措施
  • 小程序配置文件 —— 12 全局配置 - pages配置
  • springMVC-请求响应
  • 数据分析与应用:如何分析7日动销率和滞销率?