Springboot整合Quartz实现定时任务
pom依赖引入
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId>
</dependency>
继承QuartzJobBean实现executeInternal
public class WeatherDataSync extends QuartzJobBean {
private static final Logger logger = LoggerFactory.getLogger(WeatherDataSync.class);
@Override
protected void executeInternal(JobExecutionContext jobExecutionContext) throws JobExecutionException {
logger.info("WeatherDataSync");
}
}
Configuration
@Configuration
public class QuartzConfiguration {
/**
* 说明
* .newJob(WeatherDataSync.class) 将定时器与重写的类绑定
* .withIdentity 类似声明一个ID
* @return
*/
@Bean
public JobDetail weatherDataSyncDetailJob(){
return JobBuilder.newJob(WeatherDataSync.class).withIdentity("weatherDataSyncDetailJob").storeDurably().build();
}
/**
* 说明
* .withIntervalInSeconds(20) 定时器间隔时间(秒)
* .repeatForever() 重复执行
* .forJob("weatherDataSyncDetailJob") 对应上面的DetailJob
* @return
*/
@Bean
public Trigger weatherDataSyncTrigger(){
SimpleScheduleBuilder scheduleBuilder = SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(20).repeatForever();
return TriggerBuilder.newTrigger().forJob("weatherDataSyncDetailJob").withIdentity("WeatherDataSyncTrigger").withSchedule(scheduleBuilder).build();
}
}
版权声明:本文为weixin_43809795原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。