1. Introduisez la dépendance Quartz
2. Ajoutez l'annotation @EnableScheduling à la classe de démarrage SpringBoot
3. Créez une classe de travail de tâches planifiées dans la méthode, le code est le suivant :
package com.jlzh.lftwebservice.service.quartz;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @ClassName: QuartzJob
* @ Description: 定时任务类
* @author:
* @date:2022/11/02
*/
@Component
public class QuartzJob{
@Scheduled(cron = "0/5 * * * * ? ")
protected void executeInternal() throws JobExecutionException {
String time = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date());
System.out.println(time + "===> 正在工作。。。");
}
}
A ce stade, il convient de noter que la classe où se trouve la tâche planifiée doit être gérée par le conteneur Spring. Le plus simple est d'ajouter l'annotation @Component à la classe. L'ajout de l'annotation @Scheduled(cron = "0/5 * * * * ? ") à la méthode de travail de la tâche planifiée indique que la tâche est exécutée toutes les 5 secondes.
4. Le résultat de l'exécution est affiché dans la capture d'écran :
5. La valeur de cron peut également être spécifiée sous la forme d'un fichier de configuration externe, le code est le suivant :
package com.jlzh.lftwebservice.service.quartz;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @ClassName: QuartzJob
* @ Description: 定时任务类
* @author:
* @date:2022/11/02
*/
@Component
public class QuartzJob{
@Scheduled(cron = "${cron.exp}")
protected void executeInternal() throws JobExecutionException {
String time = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date());
System.out.println(time + "===> 正在工作。。。");
}
}
Remplissez ensuite la valeur de la variable de configuration dans le fichier de configuration application.yml. Cette méthode est plus flexible, et l'heure peut être modifiée sans modifier le code. Et si la valeur est remplacée par "-", cela signifie que la tâche planifiée n'est pas valide.
Une fois la valeur modifiée en "-", cela signifie que la tâche planifiée n'est pas valide. Si vous utilisez directement "-", elle sera marquée en rouge et vous pourrez la mettre entre guillemets simples.