在业务逻辑,获取自动生成的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();
}
}