首页>代码>Spring2.6配置java quartz1.6定时任务>/quartzWithSpring/src/com/sundoctor/quartz/service/SchedulerServiceImpl.java
package com.sundoctor.quartz.service; import java.text.ParseException; import java.util.Date; import java.util.UUID; import org.quartz.CronExpression; import org.quartz.CronTrigger; import org.quartz.JobDetail; import org.quartz.Scheduler; import org.quartz.SchedulerException; import org.quartz.SimpleTrigger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Service; @Service("schedulerService") public class SchedulerServiceImpl implements SchedulerService { private Scheduler scheduler; private JobDetail jobDetail; @Autowired public void setJobDetail(@Qualifier("jobDetail") JobDetail jobDetail) { this.jobDetail = jobDetail; } @Autowired public void setScheduler(@Qualifier("quartzScheduler") Scheduler scheduler) { this.scheduler = scheduler; } @Override public void schedule(String cronExpression) { schedule(null, cronExpression); } @Override public void schedule(String name, String cronExpression) { try { schedule(name, new CronExpression(cronExpression)); } catch (ParseException e) { throw new RuntimeException(e); } } @Override public void schedule(CronExpression cronExpression) { schedule(null, cronExpression); } @Override public void schedule(String name, CronExpression cronExpression) { if (name == null || name.trim().equals("")) { name = UUID.randomUUID().toString(); } try { scheduler.addJob(jobDetail, true); CronTrigger cronTrigger = new CronTrigger(name, Scheduler.DEFAULT_GROUP, jobDetail.getName(), Scheduler.DEFAULT_GROUP); cronTrigger.setCronExpression(cronExpression); scheduler.scheduleJob(cronTrigger); scheduler.rescheduleJob(name, Scheduler.DEFAULT_GROUP, cronTrigger); } catch (SchedulerException e) { throw new RuntimeException(e); } } @Override public void schedule(Date startTime) { schedule(startTime, null); } @Override public void schedule(String name, Date startTime) { schedule(name, startTime, null); } @Override public void schedule(Date startTime, Date endTime) { schedule(startTime, endTime, 0); } @Override public void schedule(String name, Date startTime, Date endTime) { schedule(name, startTime, endTime, 0); } @Override public void schedule(Date startTime, Date endTime, int repeatCount) { schedule(null, startTime, endTime, 0); } @Override public void schedule(String name, Date startTime, Date endTime, int repeatCount) { schedule(name, startTime, endTime, 0, 0L); } @Override public void schedule(Date startTime, Date endTime, int repeatCount, long repeatInterval) { schedule(null, startTime, endTime, repeatCount, repeatInterval); } @Override public void schedule(String name, Date startTime, Date endTime, int repeatCount, long repeatInterval) { if (name == null || name.trim().equals("")) { name = UUID.randomUUID().toString(); } try { scheduler.addJob(jobDetail, true); SimpleTrigger SimpleTrigger = new SimpleTrigger(name, Scheduler.DEFAULT_GROUP, jobDetail.getName(), Scheduler.DEFAULT_GROUP, startTime, endTime, repeatCount, repeatInterval); scheduler.scheduleJob(SimpleTrigger); scheduler.rescheduleJob(name, Scheduler.DEFAULT_GROUP, SimpleTrigger); } catch (SchedulerException e) { throw new RuntimeException(e); } } }
最近下载更多
wanghan1977 LV1
8月9日
denliv_hui LV13
2021年10月21日
fuzhilong LV11
2021年1月22日
如柴骨瘦假胸硅胶 LV11
2021年1月13日
httperror404 LV2
2020年12月8日
zuiaizhihou LV1
2020年11月10日
flygrass LV12
2020年4月10日
rayshao LV5
2020年2月19日
luohaipeng LV23
2019年12月3日
frank1103 LV4
2019年11月15日
最近浏览更多
wanghan1977 LV1
8月9日
我们都是小怪兽 LV3
2023年2月17日
浪里格朗 LV4
2023年1月31日
最代码-宋家辉 LV61
2023年1月29日
Hachi6 LV13
2022年12月4日
1234mama LV19
2022年3月14日
学习指南 LV5
2022年1月2日
denliv_hui LV13
2021年10月21日
denliv_hui LV13
2021年10月21日
denliv_hui LV13
2021年10月21日