表结构

目录

 
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(
                


















