spring boot集成quartz 定时任务立即执行了
JobDataMap jobDataMap = new JobDataMap();
jobDataMap.put("devId", device.getDevId());
JobDetail job = JobBuilder.newJob(DevStatusUtil.class).setJobData(jobDataMap).build();
CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule("0/60 * * * * ?");
Trigger trigger = TriggerBuilder.newTrigger().startNow().withSchedule(scheduleBuilder).build();
//交由Scheduler安排触发
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
scheduler.scheduleJob(job, trigger);
scheduler.start();
public class DevStatusUtil extends QuartzJobBean {
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
Integer devId = (Integer) context.getJobDetail().getJobDataMap().get("devId");
LambdaUpdateWrapper lqw = new LambdaUpdateWrapper<>();
lqw.eq(BaseSysEntity::getDelFlag, 0).eq(TSystemDevice::getDevId, devId).set(TSystemDevice::getDevStatus, 1);
TSystemDeviceServiceImpl deviceService = SpringUtil.getBean(TSystemDeviceServiceImpl.class);
deviceService.update(lqw);
}
}
不描述一下你的问题吗?