67,538
社区成员
发帖
与我相关
我的任务
分享
package test.quartz.listener;
import java.text.ParseException;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.quartz.SchedulerException;
import test.quartz.TestScheduler;
public class QuartzListener implements ServletContextListener{
public void contextInitialized(ServletContextEvent event) {
event.getServletContext().log("启动Quartz定时器");
try {
TestScheduler.run();
} catch (SchedulerException e) {
e.printStackTrace();
} catch (ParseException e) {
e.printStackTrace();
}
event.getServletContext().log("已经添加调度任务");
}
public void contextDestroyed(ServletContextEvent event) {
try {
TestScheduler.stop();
} catch (SchedulerException e) {
e.printStackTrace();
}
}
}
package test.quartz;
import java.text.ParseException;
import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.impl.StdSchedulerFactory;
public class TestScheduler {
private static SchedulerFactory schedulerFactory = new StdSchedulerFactory();
private static Scheduler scheduler = null;
public static void run() throws SchedulerException, ParseException{
if(null == scheduler)
//创建调度管理器
scheduler = schedulerFactory.getScheduler();
JobDetail jobDetail = new JobDetail("myjob", //name
Scheduler.DEFAULT_GROUP,//group
SimpleQuartzJob.class
);
//创建触发器
CronTrigger cronTrigger = new CronTrigger("mytrigger", "test","0/5 * * * * ?");
//添加到调度任务
scheduler.scheduleJob(jobDetail, cronTrigger);
//执行调度任务
scheduler.start();
}
public static void stop() throws SchedulerException{
scheduler.shutdown();
}
}
<listener>
<listener-class>test.quartz.listener.QuartzListener</listener-class>
</listener>