定时任务Quartz
quartz是一个功能丰富的开源作业调度库
添加pom依赖
<dependency> <groupId>org.spring work.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId></dependency>创建定时Job
- 通过普通JavaBean创建,添加@Component注解将之注册到容器
/** * @author wsyjlly * @create 2019.07.17 - 14:40 **/@Componentpublic class ScheduleDemo2 { public void schedule(){ System.out.println("ScheduleDemo2.schedule..."); }}- 通过继承抽象类QuartzJobBean创建,该方式需要实现该类中的executeInternal方法,该方法在任务被调用时使用。
/** * @author wsyjlly * @create 2019.07.17 - 14:40 **/public class ScheduleDemo3 extends QuartzJobBean { private String name; public void setName(String name){ this.name = name; } @Override protected void executeInternal(JobExecutionContext jobExecutionContext){ System.out.println("ScheduleDemo3.executeInternal..."+name); }}创建Quartz配置类QuartzConfig对Job进行配置
/** * @author wsyjlly * @create 2019.07.17 - 14:47 **/@Configurationpublic class QuartzConfig { @Bean MethodInvokingJobDetailFactoryBean jobDetail1(){ MethodInvokingJobDetailFactoryBean bean = new MethodInvokingJobDetailFactoryBean(); bean.setTargetBeanName("scheduleDemo2"); bean.setTargetMethod("schedule"); return bean; } @Bean JobDetailFactoryBean jobDetail2(){ JobDetailFactoryBean bean = new JobDetailFactoryBean(); bean.setJobClass(ScheduleDemo3.class); JobDataMap jobDataMap = new JobDataMap(); jobDataMap.put("name","ysw"); bean.setJobDataMap(jobDataMap); bean.setDurability(true); return bean; } @Bean SimpleTriggerFactoryBean simpleTrigger(){ SimpleTriggerFactoryBean bean = new SimpleTriggerFactoryBean(); bean.setJobDetail(jobDetail1().get ()); bean.setRepeatCount(3); bean.setStartDelay(1000); bean.setRepeatInterval(2000); return bean; } @Bean CronTriggerFactoryBean cronTrigger(){ CronTriggerFactoryBean bean = new CronTriggerFactoryBean(); bean.setJobDetail(jobDetail2().get ()); bean.setCron ("* * * * * ?"); return bean; } @Bean SchedulerFactoryBean schedulerFactory(){ SchedulerFactoryBean bean = new SchedulerFactoryBean(); SimpleTrigger simpleTrigger = simpleTrigger().get (); CronTrigger cronTrigger = cronTrigger().get (); bean.setTriggers(simpleTrigger,cronTrigger); return bean; }}
继续阅读与本文标签相同的文章
下一篇 :
小程序无需编程,体验IoT物联网平台-物模型开发
-
SpringBoot ~ 同源策略配置
2026-05-20栏目: 教程
-
SpringBoot ~ Restful请求风格
2026-05-20栏目: 教程
-
SpringBoot ~ 拦截器
2026-05-20栏目: 教程
-
SpringBoot ~ AOP切面编程
2026-05-20栏目: 教程
-
SpringBoot ~ 启动系统任务
2026-05-20栏目: 教程
