SpringBoot整合Quartz配置及动态添加定时任务


在业务逻辑,获取自动生成的StdScheduler.如何创建对应的job,trigger,即可。

    @GetMapping("/test12")
public void test12() {
// StdScheduler bean = MyTestApplication.app.getBean(StdScheduler.class);
StdScheduler bean = SpringBeanUtil.getBean(StdScheduler.class);

System.out.println("bean:===>" + bean);

JobDetail jobDetail = JobBuilder.newJob(Job2.class)
.withIdentity("test_job2", "group1")
.storeDurably()
.build();

SimpleTrigger trigger = TriggerBuilder.newTrigger()
// .forJob(jobDetail)
.startNow()
.withIdentity("ttt2")
.withSchedule(SimpleScheduleBuilder.simpleSchedule()
.withIntervalInSeconds(2)
.withRepeatCount(10))
.build();

try {
bean.scheduleJob(jobDetail, new HashSet() {{add(trigger);}}, true);
Thread.sleep(3000);
// JobKey jobKey = jobDetail.getKey();
// bean.pauseJob(jobKey);
// Thread.sleep(5000);
// bean.resumeJob(jobKey);
List<JobExecutionContext> currentlyExecutingJobs = bean.getCurrentlyExecutingJobs();
System.out.println("----------------");
System.out.println(currentlyExecutingJobs);


System.out.println();
} catch (Exception e) {
e.printStackTrace();
}
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM