Das heutige Projekt muss mit einer geplanten Aufgabe durchgeführt werden. Die Funktion von Quarz ist immer noch sehr leistungsfähig und bequem zu verwenden. Die Demo hier implementiert nur einmal am Tag andere Funktionen Ausführlich auf dieser Basis. Haha, schlaf weiter.
Ich hatte schon immer die Idee, das Gelernte aufzuzeichnen, zu organisieren und zu teilen. Heute werde ich mit dem ersten Artikel beginnen, der für das heutige Projekt erledigt werden muss . Die Funktion von Quarz ist immer noch sehr leistungsstark und einfach zu verwenden. Andere Funktionen können auf dieser Basis weiter untersucht werden.
1. Maven-Abhängigkeit:
<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 muss die ServletContextListener-Schnittstelle implementieren Projekt nach dem Zuhören Die Startup-Klasse
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(); } } }
Das 0 0 0 ? * * bedeutet hier, dass es einmal täglich um 00:00:00 ausgeführt wird
von links nach rechts stellen Sekunden, Minuten, Stunden, Tage, Monate bzw. Jahrestage dar
? Zeigt an, dass es Ihnen egal ist* bedeutet, dass Sie es jedes Jahr ignorieren können
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(); } }
Job ist Ihre eigene Geschäftsverarbeitung
job execute(JobExecutionContext arg0) == SimpleDateFormat("yyyy-MM-dd HH:mm:ss""Time:"+"Hello"
3. web.xml-Listening:
com.thinkgem.jeesite.modules.sys.listener.TimingTaskSchedule
<listener> <listener-class>com.thinkgem.jeesite.modules.sys.listener.TimingTaskSchedule </listener-class> </listener>
Das obige ist der detaillierte Inhalt vonBeispiel-Tutorial zum Konfigurieren von web.xml. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!