myScheduledTasks类被安排为定期或以一定的时间间隔运行。它是一个普通的spring组件。@Scheduledannotation可以用在一个方法上以定义它的运行时间。在这种情况下,我们希望该方法在一定的时间间隔后被执行。我们把它称为一个任务。我们也可以配置任务,一旦任务被执行,在一定的延迟后运行,或者我们可以使用cron格式。在这个例子中,该任务将在86400000毫秒或一天内执行一次。
import org.springframework.schedulling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.inject.Inject;
@Component
public class myScheduledTasks {
@Inject
private AppInfo appinfo;
@Scheduled(fixedrate = 86400000)
public void print() {
appinfo.print();
}
}
现在我们已经学会了如何调度一个任务,但是当任务开始时,将执行什么呢?出于这个原因,我已经注入了AppInfo类。请阅读我的另一篇博文以了解AppInfo类包含的内容。执行print()方法的调度任务在AppInfo对象上调用*print()*方法。
在包含主方法的spring boot应用程序文件中,我们用*@SpringBootApplication*来注释该类,这使得该应用程序成为spring boot应用程序。我们需要对同一个类进行注解以启用调度。
在thespring.io guide上可以找到一个关于同一主题的综合例子。
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://www.cloudnativemaster.com/post/schedule-tasks-in-spring
内容来源于网络,如有侵权,请联系作者删除!