springboot任务调度怎样实现
要在Spring Boot中实现任务调度,可使用Spring Task框架。下面是一些步骤来实现任务调度:
org.springframework.boot
spring-boot-starter-quartz
@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框架的官方文档。
TOP