Add Quartz Scheduler support

See gh-4299
This commit is contained in:
Vedran Pavic
2015-10-26 01:29:56 +01:00
committed by Stephane Nicoll
parent da6647c19e
commit 9e23206c31
21 changed files with 846 additions and 1 deletions

View File

@@ -0,0 +1,20 @@
package sample.quartz;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.quartz.QuartzJobBean;
public class SampleJob extends QuartzJobBean {
private static final Logger LOGGER = LoggerFactory.getLogger(SampleJob.class);
@Override
protected void executeInternal(JobExecutionContext context)
throws JobExecutionException {
LOGGER.info("Hello {}!", context.getJobDetail().getKey());
}
}

View File

@@ -0,0 +1,35 @@
package sample.quartz;
import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.SimpleScheduleBuilder;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
@SpringBootApplication
public class SampleQuartzApplication {
public static void main(String[] args) {
SpringApplication.run(SampleQuartzApplication.class, args);
}
@Bean
public JobDetail jobDetail() {
return JobBuilder.newJob().ofType(SampleJob.class).withIdentity("sampleJob")
.storeDurably().build();
}
@Bean
public Trigger trigger() {
SimpleScheduleBuilder scheduleBuilder = SimpleScheduleBuilder.simpleSchedule()
.withIntervalInSeconds(10).repeatForever();
return TriggerBuilder.newTrigger().forJob(jobDetail())
.withIdentity("sampleTrigger").withSchedule(scheduleBuilder).build();
}
}