Exemple de tutoriel pour configurer web.xml
Le projet d'aujourd'hui doit être réalisé avec une tâche planifiée. Je l'ai appris temporairement. La fonction du quartz est toujours très puissante et pratique à utiliser. La démo ici n'implémente l'exécution planifiée qu'une fois par jour. en profondeur sur cette base Haha, dors, continue demain.
J'ai toujours eu l'idée d'enregistrer, d'organiser et de partager ce que j'ai appris. Je ne l'ai jamais fait. Aujourd'hui, je vais commencer le premier article. C'est une tâche planifiée qui doit être effectuée sur le projet d'aujourd'hui. .Je l'ai appris temporairement.La fonction du quartz est toujours très puissante et facile à utiliser.La démo ici n'implémente qu'une exécution programmée une fois par jour.D'autres fonctions peuvent être étudiées plus en détail sur cette base.
1. Dépendance Maven :
<dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>2.2.3</version> </dependency> <dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz-jobs</artifactId><version>2.2.3</version> </dependency>
2. Doem :
TimingTaskSchedule doit implémenter l'interface ServletContextListener, lors du démarrage de projet après écoute La classe startup
package com.thinkgem.jeesite.modules.sys.listener;import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;public class TimingTaskSchedule implements ServletContextListener{// 服务器启动时执行该事件 @Overridepublic void contextInitialized(ServletContextEvent arg0) {try { QuartzLoad.run(); } catch (Exception e) { e.printStackTrace(); } }// 服务器停止时执行该事件 @Overridepublic void contextDestroyed(ServletContextEvent arg0) {try { QuartzLoad.stop(); } catch (Exception e) { e.printStackTrace(); } } }
Le 0 0 0 ? * * signifie ici l'exécuter une fois par jour à 00:00:00
de gauche à droite représente respectivement les secondes, les minutes, les heures, les jours, les mois et les anniversaires
? Indique que vous ne vous en souciez pas* signifie que vous pouvez l'ignorer chaque année
package com.thinkgem.jeesite.modules.sys.listener;import org.quartz.CronScheduleBuilder;import org.quartz.CronTrigger;import org.quartz.Job;import org.quartz.JobBuilder;import org.quartz.JobDetail;import org.quartz.Scheduler;import org.quartz.SchedulerFactory;import org.quartz.TriggerBuilder;import org.quartz.impl.StdSchedulerFactory;import com.thinkgem.jeesite.modules.sys.listener.job;public class QuartzLoad {private static Scheduler sched; public static void run() throws Exception { System.out.println("定时任务启动"); JobDetail jobDetail = JobBuilder.newJob((Class<? extends Job>) job.class) .withIdentity("myjob", "group1").build();CronTrigger trigger =(CronTrigger) TriggerBuilder.newTrigger() .withIdentity("trigger", "group1") .withSchedule(CronScheduleBuilder.cronSchedule("0 0 0 ? * *")) .build(); SchedulerFactory sfact = new StdSchedulerFactory(); Scheduler schedule = sfact.getScheduler(); schedule.start(); schedule.scheduleJob(jobDetail, trigger); }//停止 public static void stop() throws Exception{ sched.shutdown(); } }
Le travail est votre propre traitement d'entreprise
job execute(JobExecutionContext arg0) == SimpleDateFormat("yyyy-MM-dd HH:mm:ss""Time:"+"Hello"
3. écoute web.xml :
com.thinkgem.jeesite.modules.sys.listener.TimingTaskSchedule
<listener> <listener-class>com.thinkgem.jeesite.modules.sys.listener.TimingTaskSchedule </listener-class> </listener>
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds





Chaque fois que le planificateur est exécuté, une nouvelle instance de Job sera créée sur la base de JobDetail, ce qui peut éviter le problème d'accès simultané (l'instance de jobDetail est également nouvelle. Les tâches planifiées Quzrtz sont exécutées simultanément par défaut et n'attendront pas). la dernière tâche à exécuter.Tant qu'elle sera exécutée lorsque l'intervalle est écoulé, si la tâche planifiée est exécutée trop longtemps, elle occupera des ressources pendant une longue période, provoquant le blocage d'autres tâches. classe de travail, il est interdit d'exécuter simultanément plusieurs instances de la même définition de travail (définie par JobDetail). Planificateur : peut être compris comme un conteneur de travail ou un lieu de travail pour toutes les tâches planifiées.

Quartz est un excellent framework de planification open source Java. Cet article présentera en détail aux lecteurs le fichier de configuration Quartz et partagera quelques bonnes pratiques de configuration.

Guide d'utilisation des tâches planifiées Si vous souhaitez effectuer des tâches planifiées, avez des exigences de haute disponibilité ou souhaitez simplement démarrer rapidement et facilement, alors vous avez raison de le choisir. Le module de tâches planifiées encapsule davantage le framework Quartz et le rend plus simple à utiliser. 1. Introduisez la dépendance xin.altitude.cmsucode-cms-quartz1.5.4.12 et commencez rapidement à implémenter l'interface org.quartz.Job ; utilisez l'annotation CronExp pour ajouter la stratégie de planification de la tâche, utilisez l'annotation Component pour injecter le ; tâche dans le conteneur. Démarrez le projet et les tâches planifiées seront surveillées et exécutées. @Component@DisallowConcurrentExecution

Déployez dans le répertoire webapps et démarrez. La version Spring utilisée dans cet article est Spring 6, la version Spring Boot est 3 et le JDK est 17. Cela peut être légèrement différent d'avant, mais le processus global n'est pas trop différent. Si l'application déployée est démarrée dans le répertoire tomcatwebapps, vous devez configurer le fichier web.xml dans le projet. Le fichier web.xml configure le contexte de l'application Spring contextConfigLocation/WEB-INF/spring/application-context.xmlorg.springframework. web.context.ContextLoad.

Le conteneur Servlet est une application qui fournit un environnement d'exécution de servlet. Il est responsable de la gestion du cycle de vie du servlet et de la fourniture des services WEB nécessaires, tels que la sécurité, les transactions, etc. Il existe de nombreux types de conteneurs Servlet, les plus courants étant Tomcat et Jetty. Les principales fonctions du conteneur Servlet sont la gestion du cycle de vie : Le conteneur Servlet est responsable de la gestion du cycle de vie du Servlet, y compris le démarrage, l'initialisation, le service et la destruction. Services Web : le conteneur Servlet fournit des services Web, tels que la sécurité, les transactions, etc. Gestion des ressources : le conteneur de servlets gère les ressources, telles que les servlets, jsP, les pages HTML, etc. Chargement de classe : le conteneur Servlet est responsable de l'ajout

Fichier de configuration sue.spring.quartz.cron=*/5****?pomorg.springframework.bootspring-boot-starter-quartz tâches planifiées et déclencheurs packagecom.luke.demo.schedule;importorg.quartz.*;importorg. .beans.factory.annotation.Value; importorg.springframework.context.annotation.Bea

Avec le développement rapide de la technologie Internet, la vitesse de traitement des données est devenue la clé de la concurrence entre diverses industries et entreprises. Dans ce processus, la technologie de mise en cache est devenue un moyen important d’améliorer la vitesse de traitement des données. La technologie de mise en cache Quartz, en tant que technologie de mise en cache efficace, a été adoptée par de plus en plus d'entreprises. Cet article présentera en détail la technologie de mise en cache Quartz, ainsi que son utilisation, ses avantages et ses inconvénients. 1. Qu’est-ce que la technologie de mise en cache Quartz ? La technologie de mise en cache Quartz est une technologie de mise en cache basée sur la mémoire qui peut

Avec le nombre croissant d'applications Internet, le traitement des tâches en arrière-plan est devenu de plus en plus important. En développement, nous devons souvent traiter des tâches planifiées, telles que sauvegarder régulièrement des données tôt le matin, envoyer régulièrement des e-mails, etc. Dans le développement Java, l'utilisation de la bibliothèque Quartz peut nous aider à implémenter un tel traitement de tâches planifiées. Quartz est un framework de tâches planifiées Java open source qui fournit une API simple pour implémenter des tâches planifiées. Les tâches planifiées de Quartz peuvent être basées sur l'heure spécifiée
