要在Spring Boot中實現任務調度,可以使用Spring Task框架。下面是一些步驟來實現任務調度:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId>
</dependency>
@Component
public class MyJob extends QuartzJobBean {
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
// 執行任務邏輯
System.out.println("Hello, world!");
}
}
spring.quartz.job-store-type=jdbc
spring.quartz.jdbc.initialize-schema=always
@Configuration
public class QuartzConfig extends QuartzConfigurerAdapter {
@Autowired
private MyJob myJob;
@Override
public void configure(JobDetailFactoryBean jobDetailFactoryBean, TriggerFactoryBean triggerFactoryBean) {
jobDetailFactoryBean.setJobClass(myJob.getClass());
SimpleTriggerFactoryBean stFactory = new SimpleTriggerFactoryBean();
stFactory.setJobDetail(jobDetailFactoryBean.getObject());
stFactory.setStartDelay(3000L);
stFactory.setRepeatInterval(5000L);
stFactory.setRepeatCount(SimpleTrigger.REPEAT_INDEFINITELY);
triggerFactoryBean.setObject(stFactory.getObject());
}
}
在上述配置類中,configure方法用于配置任務的JobDetail和觸發器(Trigger)。在這個例子中,使用SimpleTrigger來觸發任務,每5秒執行一次。
注意:以上步驟是一個基本的示例,你可以根據需要進行自定義和配置。詳細的任務調度配置和使用可以參考Spring Task和Quartz框架的官方文檔。