En parlant de tâches planifiées, nous devrions penser à @Scheduled, Quartz et XXL-JOB. Cependant, certains services uniques ou petits projets peuvent utiliser directement @Scheduled pour implémenter des tâches asynchrones pour plus de commodité et de rapidité. Par conséquent, les exigences thématiques de cet article sont étendues.
Lorsque @Scheduled est utilisé dans un projet, comment la tâche asynchrone spécifiée peut-elle être exécutée à l'avance au démarrage du projet ?
1. Explication détaillée de @Scheduled
L'annotation @Scheduled prend en charge plusieurs paramètres pour contrôler de manière flexible le temps d'exécution des tâches.
cron : expression Cron, qui peut contrôler avec précision les secondes, les minutes, les heures, les jours, les mois, les semaines, etc.
fuseau : recevez un fuseau horaire, tel que Asie/Shanghai, le fuseau horaire que nous utilisons généralement. Nous laissons généralement ce champ vide.
fixDelay : combien de temps après l'heure de fin de la dernière exécution, il sera à nouveau exécuté. Tel que @Scheduled (fixedDelay = 5000)
fixDelayString : a la même signification quefixedDelay, mais sous la forme d'une chaîne. La seule différence est qu'il prend en charge les espaces réservés, tels que @Scheduled(fixedDelayString = "5000")
fixedRate : combien de temps après le dernier début de l'heure d'exécution, par exemple @Scheduled (fixedRate = 5000)
fixedRateString : a la même signification que fixedRate, mais sous la forme d'une chaîne. La seule différence est que les espaces réservés sont pris en charge.
initialDelay : combien de temps retarder l'exécution pour la première fois. Par exemple, il sera exécuté après le premier délai de 1 seconde. Ensuite, il sera exécuté toutes les 5 secondes selon la règle fixedRate @Scheduled(initialDelay=1000, fixedRate=. 5000)
initialDelayString : a la même signification que initialDelayString, mais sous la forme d'une chaîne. La seule différence est que les espaces réservés sont pris en charge.
Remarque : Pensez à ajouter @EnableScheduling à la classe de démarrage pour que la tâche planifiée soit exécutée. Bien entendu, cela n'affecte pas le test logique de cet article.
3. Résultats des tests
Une fois le service démarré, affichez les informations d'impression