@big-bear
2016-12-27T04:41:33.000000Z
字数 1809
阅读 1312
java
第三方
quartz代码
/**
* Copyright (c) 2016, www.wisdombud.com
* All Rights Reserved.
*/
package cn.com.wisdombud.quartz;
import java.text.ParseException;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.impl.StdSchedulerFactory;
/**
* 功能: 同步数据的listener.<br/>
* date: 2016年6月24日 上午10:58:58 <br/>
*
* @author ytche@wisdombud.com
* @version
* @since JDK 1.8
*/
public class SyncDataListener implements ServletContextListener {
/**
* @see javax.servlet.ServletContextListener#contextDestroyed(javax.servlet.ServletContextEvent)
*/
@Override
public void contextDestroyed(ServletContextEvent arg0) {
// TODO Auto-generated method stub
}
/**
* @see javax.servlet.ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent)
*/
@Override
public void contextInitialized(ServletContextEvent arg0) {
try {
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
this.cheduleJob(scheduler);
scheduler.start();
} catch (SchedulerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 功能: Create and Schedule a syncDataJob with the Scheduler .<br/>
* date: 2016年6月24日 上午11:19:00 <br/>
*
* @author ytche@wisdombud.com
* @param scheduler
* @throws ParseException
* @throws SchedulerException
*/
private void cheduleJob(Scheduler scheduler) throws ParseException, SchedulerException {
JobDetail jobDetail = new JobDetail("syncData", scheduler.DEFAULT_GROUP, SyncDataJob.class);
CronTrigger trigger = new CronTrigger("syncData", scheduler.DEFAULT_GROUP);
trigger.setCronExpression("0 0 6,12,18, * * ?");
scheduler.scheduleJob(jobDetail, trigger);
}
}
listener的web.xml配置
<listener>
<listener-class>cn.com.wisdombud.quartz.SyncDataListener</listener-class>
</listener>