1、整合schedule
(1)jar
<!-- 添加 Scheduled 座標 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
(2)job
@Component
public class ScheduledDemo {
@Scheduled(cron="0/5 * * * * ?")
public void scheduleMethod(){
System.out.println("定時出發schedule"+new Date());
}
}
(3)啓動類
@SpringBootApplication
@EnableScheduling
public class Springboot1Application {
public static void main(String[] args) {
SpringApplication.run(Springboot1Application.class, args);
}
}
2、整合quartz
(1)jar
<!-- Quartz 座標 -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.1</version>
<exclusions>
<exclusion>
<artifactId>slf4j-api</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- Sprng tx 座標 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
</dependency>
(2)quartzConfig
@Configuration
public class QuartzConfig {
/**
* 1.創建 Job 對象
*/
@Bean
public JobDetailFactoryBean jobDetailFactoryBean(){
JobDetailFactoryBean factory = new JobDetailFactoryBean();
//關聯我們自己的 Job 類
factory.setJobClass(QuartzDemo.class);
return factory;
}
/**
* 2.創建 Trigger 對象
* 簡單的 Trigger
*/
@Bean
public SimpleTriggerFactoryBean
simpleTriggerFactoryBean(JobDetailFactoryBean jobDetailFactoryBean){
SimpleTriggerFactoryBean factory = new
SimpleTriggerFactoryBean();
//關聯 JobDetail 對象
factory.setJobDetail(jobDetailFactoryBean.getObject());
//該參數表示一個執行的毫秒數
factory.setRepeatInterval(2000);
//重複次數
factory.setRepeatCount(5);
return factory;
}
/**
* 3.創建 Scheduler 對象
*/
@Bean
public SchedulerFactoryBean
schedulerFactoryBean(SimpleTriggerFactoryBean simpleTriggerFactoryBean){
SchedulerFactoryBean factory = new SchedulerFactoryBean();
//關聯 trigger
factory.setTriggers(simpleTriggerFactoryBean.getObject());
return factory;
}
}
(3)job
public class QuartzDemo implements Job {
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
System.out.println("quartz------------"+new Date());
}
}
(4)啓動類
@SpringBootApplication
@EnableScheduling
public class Springboot1Application {
public static void main(String[] args) {
SpringApplication.run(Springboot1Application.class, args);
}
}