It @Scheduled
is very simple to use in springboot, just add comments on the method @Scheduled
.
import org.springframework.scheduling.annotation.Scheduled;import org.springframework.stereotype.Component;import org.springframework.transaction.annotation.Transactional;@Componentpublicclass XXXTask { @Scheduled601000) @Transactional publicvoidrun() { // 省略部分代码 }}
Public @interfaceScheduled {StringCron()default "";//Cron expressionStringZone()default "";//Time zone Long Fixeddelay()default-1l;after the last execution, wait for the number of milliseconds to executeStringfixeddelaystring()default "";Long fixedrate()default-1l;after the last start of execution, wait for the number of milliseconds to executeStringfixedratestring()default "";Long InitialDelay()default-1l;//Wait for the first number of milliseconds to execute after the project starts successfullyStringinitialdelaystring()default "";}
fixedDelayString
fixedRateString
initialDelayString
Back add
String
The meaning
SOURCE Location:org/springframework/spring-context/5.0.5.RELEASE/spring-context-5.0.5.RELEASE.jar!/org/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor.class:240
private static long parseDelayAsLong(String value) throws RuntimeException { return value.length() <= 1 || !isP(value.charAt(0)) && !isP(value.charAt(1)) ? Long.parseLong(value) : Duration.parse(value).toMillis();}private static boolean isP(char ch) { return ch == ‘P‘ || ch == ‘p‘;}
Using Scheduled Tasks in Springboot