我正试图在测试中执行我的quartz作业,但它们似乎没有被触发。永远不会执行'runJob()‘。日志上没有异常,也没有错误。我遗漏了什么?有什么想法吗?
代码语言:javascript复制@Autowired
Scheduler scheduler;
@Test
@Transactional
public void MyJobTest() {
//Create a new Job
JobKey jobKey = JobKey.jobKey(MyJob.class.getSimpleName(), JobGroupEnum.GROUP1.getName());
JobDetail job = JobBuilder.newJob(MyJob.class).withIdentity(jobKey).storeDurably(true).build();
try {
scheduler.addJob(job, true); //Register this job to the scheduler
scheduler.triggerJob(job.getKey()); //Immediately trigger the Job
} catch (Exception e) {
e.printStackTrace();
}
}下面是日志:
代码语言:javascript复制Starting Quartz Scheduler now
Scheduler quartzScheduler_$_NON_CLUSTERED started.
Started MyJobTest in 20.965 seconds (JVM running for 22.537)
Began transaction (1) for test context [DefaultTestContext@704deff2 testClass = MyJobTest, testInstance = ....
Rolled back transaction for test: [DefaultTestContext@704deff2 testClass = MyJobTest, testInstance = ....
Scheduler quartzScheduler_$_NON_CLUSTERED paused.
Shutting down ExecutorService 'applicationTaskExecutor'
Shutting down Quartz Scheduler
Scheduler quartzScheduler_$_NON_CLUSTERED shutting down.
Scheduler quartzScheduler_$_NON_CLUSTERED paused.
Scheduler quartzScheduler_$_NON_CLUSTERED shutdown complete.