Maison  >  Article  >  Java  >  Méthodes de planification des tâches et de mise en œuvre des tâches planifiées de Spring Boot

Méthodes de planification des tâches et de mise en œuvre des tâches planifiées de Spring Boot

PHPz
PHPzoriginal
2023-06-22 23:58:391927parcourir

Spring Boot est un framework de développement Java très populaire. Il présente non seulement l'avantage d'un développement rapide, mais intègre également de nombreuses fonctions pratiques. Parmi elles, la planification des tâches et les tâches planifiées sont l'une de ses fonctions couramment utilisées. Cet article explorera les méthodes de planification et de mise en œuvre des tâches de Spring Boot.

1. Introduction à la planification des tâches Spring Boot

La planification des tâches Spring Boot (planification des tâches) fait référence au processus automatisé d'exécution de certaines opérations spécifiques à un moment précis ou sous certaines conditions. La planification des tâches Spring Boot peut résoudre de nombreux scénarios, tels que la sauvegarde planifiée de la base de données, l'envoi d'e-mails, le nettoyage régulier des fichiers temporaires, les données statistiques, etc. La planification des tâches doit donner une heure fixe, puis déclencher l'exécution de la tâche à ce moment-là.

2. Implémentation de la planification des tâches Spring Boot

  1. Introduisez d'abord les dépendances des tâches planifiées de Spring Boot dans le pom, telles que :
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-quartz</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-task</artifactId>
</dependency>
  1. Configurez les tâches planifiées dans le fichier de configuration application.properties ou application.yml
@Component
public class MyTask {

    @Scheduled(cron = "0 0/1 * * * ?")
    public void execute() {
        // 任务执行逻辑
    }
}
    .
  1. Ajoutez l'annotation @Scheduled à la classe de tâches et définissez l'heure d'exécution de la tâche
# 配置定时任务的线程池大小
spring.task.scheduling.pool.size=5 
  1. Activez les tâches planifiées
@Component
public class MyTask {

    // cron表达式:定时执行时间,这里是每分钟执行一次
    @Scheduled(cron = "0 0/1 * * * ?")
    public void execute() {
        // 任务执行逻辑
    }
}
  1. Testez la tâche planifiée et la console affichera l'heure d'exécution de la tâche, indiquant que la tâche planifiée la tâche a commencé l'exécution
    L'application des tâches planifiées est très large et elle peut implémenter à la fois des tâches planifiées et des tâches cycliques par rapport à l'exécution manuelle, plus pratique et efficace.
  1. 3. Implémentation des tâches périodiques Spring Boot

Écrivez une classe de tâches planifiées pour implémenter la logique d'exécution des tâches planifiées

@SpringBootApplication
@EnableScheduling
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
  1. Utilisez l'annotation @Scheduled sur la classe de tâches pour spécifier la stratégie d'exécution et le cycle de la tâche
@Component
public class MyTask {
    @Scheduled(fixedRate = 5000)
    public void execute() {
        System.out.println("执行定时任务:" + LocalDateTime.now());
    }
}
    Ci-dessus Le code indique que la tâche sera exécutée la prochaine fois après un intervalle de 5 secondes après la dernière exécution. Il existe d'autres stratégies de tâches planifiées couramment utilisées, telles que fixDelay, ce qui signifie qu'une fois l'exécution précédente terminée, attendez un certain temps avant de l'exécuter à nouveau ; initialDelay, ce qui signifie le temps qu'il faut attendre avant la première tâche ; est exécuté ; cron, ce qui signifie une expression flexible et complexe qui définit le temps d'exécution d'une tâche périodique.
Ajoutez l'annotation @EnableScheduling à la classe de démarrage pour activer les tâches planifiées

@Scheduled(fixedRate = 5000)
  1. Démarrez le projet Spring Boot et la tâche sera automatiquement exécutée à l'heure spécifiée.
    4. Précautions pour les tâches planifiées Spring Boot
L'heure de la tâche planifiée peut être retardée ou manquée, en particulier en cas de volume de données important ou de concurrence élevée. À ce stade, la taille du pool de threads et le délai d'expiration de la tâche doivent être définis. .

@SpringBootApplication
@EnableScheduling
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
  1. Il vous suffit d'ajouter l'annotation @EnableScheduling à la classe de démarrage pour activer la tâche planifiée. Ne l'exécutez pas à plusieurs reprises, sinon la tâche planifiée sera exécutée plusieurs fois.
Évitez d'utiliser des méthodes de mise en œuvre de tâches planifiées avec de faibles performances de concurrence et utilisez des solutions à haute concurrence pour obtenir une exécution efficace.
  1. Conclusion
  2. Cet article présente les méthodes de planification et de mise en œuvre des tâches de Spring Boot. En étudiant cet article, les lecteurs peuvent maîtriser les connaissances de base et l'utilisation de la planification des tâches. La planification des tâches fait partie intégrante du développement Java. Comprendre le mécanisme de mise en œuvre de la planification des tâches Spring Boot nous sera d'une grande aide dans le développement de systèmes à haute disponibilité.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn