1.引入包:
org.quartz-scheduler
quartz
2.2.1
org.quartz-scheduler
quartz-jobs
2.2.1
2.编写类
JobFactory.java
QuartzJob.java
QuartzJobListener.java
QuartzManager.java
代码如下:
JobFactory.java
package my.code.quartz;
import org.quartz.spi.TriggerFiredBundle;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
import org.springframework.scheduling.quartz.AdaptableJobFactory;
public class JobFactory extends AdaptableJobFactory {
@Autowired
private AutowireCapableBeanFactory capableBeanFactory;
@Override
protected Object createJobInstance(TriggerFiredBundle bundle) throws Exception {
//调用父类的方法
Object jobInstance = super.createJobInstance(bundle);
//进行注入
capableBeanFactory.autowireBean(jobInstance);
return jobInstance;
}
}
QuartzJob.java
package my.code.quartz;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.stereotype.Component;
@Component
public class QuartzJob implements Job{
/*@Autowired
private CommonHibernateDao commonHibernateDao;
@Resource(name="infoShowPR")
private InfoShowPR infoShowPR;
@Resource(name="crawlerMainFramePR")
private CrawlerMainFramePR crawlerMainFramePR;*/
@Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
System.out.println("TestJob 的运行 :"+dateFormat.format(new Date()));
}
}
QuartzJobListener.java
package my.code.quartz;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.quartz.Job;
import org.springframework.web.context.support.WebApplicationContextUtils;
public class QuartzJobListener implements ServletContextListener {
public void contextInitialized(ServletContextEvent arg0) {
/*** 处理获取数据库的job表&