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