springboot實現定時任務的兩種方式

 方式一:在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();    }}
相關文章
相關標籤/搜索