quartz的简单使用:
1 引入quartz依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId> </dependency>
2 写一个任务类继承quartz
public class WeatherDataSynJob extends QuartzJobBean { private static final Logger logger = LogManager.getLogger(WeatherDataSynJob.class); @Override protected void executeInternal(JobExecutionContext jobExecutionContext) throws JobExecutionException { logger.info("weather data syn job"); } }
这里直接使用打印日志进行测试
3 写quartz的配置类
@Configuration public class QuartzConfig { /** * quartz一般是两个对象 JobDetail , Trigger * @return */ @Bean public JobDetail weatherDataSynJobJobDetail(){ return JobBuilder.newJob(WeatherDataSynJob.class) //任务类的class文件 .withIdentity("weatherDataSynJob") //定义一个名称 .storeDurably().build(); //构造一个JobDetail对象 } @Bean public Trigger weatherDataSynJobTrigger(){ //构造schedule对象 SimpleScheduleBuilder schedule = SimpleScheduleBuilder.simpleSchedule() //构造方法 .withIntervalInSeconds(10) //设置时间,多久执行一次 .repeatForever(); //实现调度 //构造Trigger对象 return TriggerBuilder.newTrigger() .forJob(weatherDataSynJobJobDetail()) //JobDetail的类 .withIdentity("weatherDataSynJobTrigger") //定义一个名字 .withSchedule(schedule) .build(); } }
4 启动程序 结果如下
我定时10秒刷新调用一次 结果如下