我用SpringBoot集合Quartz创建的定时任务为什么有时候不执行呢,也不报错

我用SpringBoot集合Quartz创建的定时任务为什么有时候不执行呢,也不报错,难道和线程并发有关?因为我的项目有好多定时器在跑,但是每个定时器基本都有自己的线程池,那为啥我的定时任务不执行呢,我在测试过程过,发现大部分不执行都是在我,删除一个定时任务后重新添加一个任务,新的任务就不执行了。这是为啥呢?

新增代码:

    // 启动调度器
            JobDetail jobDetail = JobBuilder.newJob(IotSchedulerTime.class).withIdentity(jobDetailName,jobDetailGroup).usingJobData("command", command).usingJobData("jobDetailName",jobDetailName).build();
            // 表达式调度构建器(即任务执行的时间)
            CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(cron);
            // 按新的cronExpression表达式构建一个新的trigger
            CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity(triggerName,triggerGroup).withSchedule(scheduleBuilder).build();
            scheduler.start();
            scheduler.scheduleJob(jobDetail, trigger);

`
删除代码:

TriggerKey triggerKey = TriggerKey.triggerKey(triggerName, triggerGroup);
            scheduler.pauseTrigger(triggerKey);// 停止触发器
            scheduler.unscheduleJob(triggerKey);// 移除触发器
            scheduler.deleteJob(JobKey.jobKey(jobDeatailName, jobDetailGroup));// 删除任务

~~~~`

阅读 9.1k
4 个回答

贴下代码吧

Talk is cheap. Show me the code.

我贴了一下 代码 帮忙看看 各位

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题