現在、プロジェクトは一時的な学習のために、Quartz の機能を使用するのに非常に便利です。このデモは、これに基づいて継続的に実行できます。
私は学んだことを記録し、整理し、共有するという考えを常に持っていましたが、これは今日のプロジェクトで実行する必要がある最初の記事を開始します。一時的にですが、Quartz の機能は非常に強力なので、これを使用してください。ここでのデモは、1 日 1 回のスケジュールで実行するだけなので、これに基づいてさらに学習することもできます。<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>
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(); } } }
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 execute(JobExecutionContext arg0) == SimpleDateFormat("yyyy-MM-dd HH:mm:ss""Time:"+"Hello"
<listener> <listener-class>com.thinkgem.jeesite.modules.sys.listener.TimingTaskSchedule </listener-class> </listener>
以上がweb.xml を構成するためのチュートリアルの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。