| | |
| | | import com.doumee.dao.timer.entity.QuartzJob; |
| | | import com.doumee.dao.timer.mapper.QuartzJobMapper; |
| | | import com.doumee.dao.timer.scheduler.QuartzManage; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.quartz.CronTrigger; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | @Service |
| | | @Slf4j |
| | | public class TimerBizSevice { |
| | | @Resource |
| | | private QuartzJobMapper quartzJobMapper ; |
| | |
| | | */ |
| | | @PostConstruct |
| | | public void init () { |
| | | log.error("================执行"+System.currentTimeMillis()); |
| | | LambdaQueryWrapper<QuartzJob> queryWrapper = new LambdaQueryWrapper<>() ; |
| | | queryWrapper.in(QuartzJob::getState, JobState.JOB_RUN.getStatus(),JobState.JOB_STOP.getStatus()); |
| | | List<QuartzJob> jobList = quartzJobMapper.selectList(queryWrapper); |
| | | jobList.forEach(quartzJob -> { |
| | | try { |
| | | log.error("================执行"+quartzJob.getId()); |
| | | CronTrigger cronTrigger = quartzManage.getCronTrigger(quartzJob.getId()) ; |
| | | if (Objects.isNull(cronTrigger)){ |
| | | quartzManage.createJob(quartzJob); |
| | |
| | | quartzManage.updateJob(quartzJob); |
| | | } |
| | | }catch (Exception e){ |
| | | // log.error("================执行"+quartzJob.getId()); |
| | | e.printStackTrace(); |
| | | } |
| | | }); |