정 현재 프로젝트는 타이밍 작업을 수행해야 합니다. Quartz의 기능은 여전히 사용하기 매우 편리합니다. 여기의 DEMO는 이를 기반으로 계속 학습할 수 있습니다.
저는 배운 것을 기록하고 정리하고 공유하겠다는 생각을 늘 갖고 있었는데, 오늘은 이 프로젝트에서 꼭 해야 할 첫 번째 글을 시작하겠습니다. 일시적으로요. 석영의 기능은 여전히 매우 강력합니다. 여기 데모는 하루에 한 번만 실행됩니다. 하하, 잠자고 내일 계속하세요. Maven 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. 여기서는 매일 00:00:00이 한 번 실행된다는 의미입니다
? 상관하지 않음을 나타냅니다*는 매년 무시할 수 있음을 의미합니다
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(); } } }
Job은 자신의 비즈니스 처리입니다
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(); } }
3. Web.xml 듣기:
com.thinkgem.jeesite.modules. sys.listener.TimingTaskSchedule
job execute(JobExecutionContext arg0) == SimpleDateFormat("yyyy-MM-dd HH:mm:ss""Time:"+"Hello"
위 내용은 web.xml 구성을 위한 예제 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!