Maison Java javaDidacticiel Exemple de tutoriel pour configurer web.xml

Exemple de tutoriel pour configurer web.xml

Jul 19, 2017 pm 01:39 PM
quartz web.xml effectuer des tâches

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>
Copier après la connexion

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();
        }
    }

}
Copier après la connexion

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();  
     }  
}
Copier après la connexion

Le travail est votre propre traitement d'entreprise

  job   execute(JobExecutionContext arg0) ==  SimpleDateFormat("yyyy-MM-dd HH:mm:ss""Time:"+"Hello"
Copier après la connexion

3. écoute web.xml :

com.thinkgem.jeesite.modules.sys.listener.TimingTaskSchedule

<listener>
<listener-class>com.thinkgem.jeesite.modules.sys.listener.TimingTaskSchedule
</listener-class>
</listener>
Copier après la connexion

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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 !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Comment utiliser Quartz pour implémenter des tâches planifiées en Java ? Comment utiliser Quartz pour implémenter des tâches planifiées en Java ? May 08, 2023 am 10:46 AM

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.

Explication détaillée du fichier de configuration du quartz Explication détaillée du fichier de configuration du quartz Jun 20, 2023 pm 04:11 PM

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.

Comment utiliser Quartz pour implémenter des tâches planifiées Java à haute disponibilité ? Comment utiliser Quartz pour implémenter des tâches planifiées Java à haute disponibilité ? May 07, 2023 pm 12:55 PM

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

web.xml Quelle est la méthode utilisée par SpringBoot pour empaqueter l'exécutable Jar afin d'exécuter SpringMVC ? web.xml Quelle est la méthode utilisée par SpringBoot pour empaqueter l'exécutable Jar afin d'exécuter SpringMVC ? May 17, 2023 pm 09:37 PM

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.

Conteneur de servlets révélé : une compréhension plus approfondie de l'environnement d'exécution des servlets Conteneur de servlets révélé : une compréhension plus approfondie de l'environnement d'exécution des servlets Feb 19, 2024 pm 01:00 PM

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

Comment utiliser Quartz pour implémenter des tâches planifiées en Java Comment utiliser Quartz pour implémenter des tâches planifiées en Java Apr 19, 2023 pm 11:49 PM

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

En savoir plus sur la technologie de mise en cache Quartz En savoir plus sur la technologie de mise en cache Quartz Jun 20, 2023 am 09:51 AM

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

Utilisation de Quartz pour le traitement des tâches planifiées dans le développement d'API Java Utilisation de Quartz pour le traitement des tâches planifiées dans le développement d'API Java Jun 17, 2023 pm 11:58 PM

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

See all articles