Springboot整合Quartz实现定时任务

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版权协议,转载请附上原文出处链接和本声明。