方式一:在springboot启动类上添加@EnableScheduling注解,而后建立具体的任务类,在方法上添加@Scheduled注解,并指明执行频率便可。以下:spring
@Component
public class TestJob {
private final Logger logger = LoggerFactory.getLogger(TestJob.class);
@Scheduled(cron = "*/3 * * * * *")
public void testJob() {
logger.info("Job Test...");
}
}
方式二:建立一个继承了QuartzJobBean的任务类,同时建立quarz配置类,以向spring容器中注入JobDetail和Trigger。以下:
public class Test2Job extends QuartzJobBean {
private final Logger logger = LoggerFactory.getLogger(Test2Job.class);
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
logger.info("Test2 Job...");
}
}
@Configurationpublic class ScheculerConfiguration { @Bean public JobDetail jobDetail() { return JobBuilder.newJob(Test2Job.class) .withIdentity("test2Job") .storeDurably() .build(); } @Bean public Trigger jobTrigger() { ScheduleBuilder scheduleBuilder = SimpleScheduleBuilder.simpleSchedule() .withIntervalInMilliseconds(3) .repeatForever(); return TriggerBuilder.newTrigger() .withIdentity("test2JobTrigger") .forJob(jobDetail()) .withSchedule(scheduleBuilder) .build(); }}