quartz
public Result save(QuartzBean quartz) {
LOGGER.info("新增任务");
try {
if (quartz.getOldJobGroup() != null) {
JobKey key = new JobKey(quartz.getOldJobName(), quartz.getOldJobGroup());
scheduler.deleteJob(key);
}
Class cls = Class.forName(quartz.getJobClassName());
cls.newInstance();
JobDetail job = JobBuilder.newJob(cls).withIdentity(quartz.getJobName(),
quartz.getJobGroup())
.withDescription(quartz.getDescription()).build();
CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(quartz.getCronExpression());
Trigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger" + quartz.getJobName(), quartz.getJobGroup())
.startNow().withSchedule(cronScheduleBuilder).build();
scheduler.scheduleJob(job, trigger);
} catch (Exception e) {
e.printStackTrace();
return Result.error();
}
return Result.ok();
}
我先声明一下我是quartz的初学者,但是在整合springboot的时候发现只要调一下这个新增接口就能在数据库qrtz_cron_triggers和qrtz_job_details表中添加进去了,我用druid去监控也没监控到sql语句,这是quartz自己在操作数据库吗???有没有大神帮我一下啊
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,quartz有个复杂的配置文件,当配置使用数据库,并且正确指定数据库jdbc参数后,quargz会自己保存job到数据库里,甚至可以配成cluster。 你找下你classpath下的quartz的配置文件,一般可以看到这样的内容就是干这个的: