Quartz与'SchedulerFactoryBean'集成到Spring,但没有作业,并触发了数据库上的记录

时间:2019-04-28 10:55:27

标签: spring quartz-scheduler rollback

在应用程序启动时,我试图运行石英作业。代码如下:

@Bean
public SchedulerFactoryBean scheduler(DataSource dataSource) {
    SchedulerFactoryBean schedulerFactory = new SchedulerFactoryBean();
    schedulerFactory.setOverwriteExistingJobs(true);
    schedulerFactory.setAutoStartup(true);
    schedulerFactory.setStartupDelay(20);
    schedulerFactory.setTriggers(createTaskTrigger().getObject());
    schedulerFactory.setConfigLocation(new ClassPathResource("config/quartz.properties"));
    schedulerFactory.setJobFactory(springBeanJobFactory());
    schedulerFactory.setDataSource(dataSource);
    return schedulerFactory;
}

@Bean
public JobDetailFactoryBean createTaskJobDetail() {
    JobDetailFactoryBean factoryBean = new JobDetailFactoryBean();
    factoryBean.setJobClass(CreateTaskJob.class);
    factoryBean.setDurability(true);
    return factoryBean;

}

@Bean
public CronTriggerFactoryBean createTaskTrigger() {
    CronTriggerFactoryBean factoryBean = new CronTriggerFactoryBean();
    factoryBean.setJobDetail(createTaskJobDetail().getObject());
    factoryBean.setCronExpression(createInspectExp);
    factoryBean.setMisfireInstruction(SimpleTrigger.MISFIRE_INSTRUCTION_FIRE_NOW);
    return factoryBean;
}
@Bean
public SpringBeanJobFactory springBeanJobFactory() {
    AutoWiringSpringBeanJobFactory jobFactory = new 
AutoWiringSpringBeanJobFactory();
    jobFactory.setApplicationContext(applicationContext);
    return jobFactory;
}

我认为应该将一些记录插入数据库表中(qrtz_triggers,qrtz_triggers,qrtz_job_details ...),但实际上没有任何问题,在应用程序控制台上也没有发现错误。

我尝试调试石英源代码,发现所有SQL均已成功执行。

根据数据库(mysql)日志,SQL也已执行。

2019-04-28T10:07:41.292442Z   43 Prepare    INSERT INTO QRTZ_TRIGGERS 
(SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP, JOB_NAME, JOB_GROUP,         
DESCRIPTION, NEXT_FIRE_TIME, PREV_FIRE_TIME, TRIGGER_STATE, TRIGGER_TYPE,  
START_TIME, END_TIME, CALENDAR_NAME, MISFIRE_INSTR, JOB_DATA, PRIORITY)  
VALUES('scheduler', ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) 
2019-04-28T10:07:41.783536Z   43 Execute    INSERT INTO QRTZ_TRIGGERS 
(SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP, JOB_NAME, JOB_GROUP, 
DESCRIPTION, NEXT_FIRE_TIME, PREV_FIRE_TIME, TRIGGER_STATE, TRIGGER_TYPE, 
START_TIME, END_TIME, CALENDAR_NAME, MISFIRE_INSTR, JOB_DATA, PRIORITY)  
VALUES('scheduler', 'createTaskTrigger', 'DEFAULT', 'createTaskJobDetail', 
'DEFAULT', NULL, 1556446050000, -1, 'WAITING', 'CRON', 1556446039000, 0, 
NULL, 1, '', 0)
2019-04-28T10:07:41.800229Z   43 Prepare    INSERT INTO QRTZ_CRON_TRIGGERS 
(SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP, CRON_EXPRESSION, TIME_ZONE_ID)  
VALUES('scheduler', ?, ?, ?, ?)
2019-04-28T10:07:41.802850Z   43 Execute    INSERT INTO QRTZ_CRON_TRIGGERS 
(SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP, CRON_EXPRESSION, TIME_ZONE_ID)  
VALUES('scheduler', 'createTaskTrigger', 'DEFAULT', '*/15 * * * * ?', 
'Asia/Shanghai')
2019-04-28T10:07:42.594220Z   43 Query  rollback

如您所见,在日志末尾,已执行了“回滚”操作。这是全部造成的吗?你有什么想法吗?

0 个答案:

没有答案