SimpleScheduler.java
package quartz;
import java.text.ParseException;
import java.util.Date;
import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.Trigger;
import org.quartz.TriggerUtils;
import org.quartz.impl.StdSchedulerFactory;
public class SimpleScheduler {
/**
* @param args
*/
public static void main(String[] args) {
SimpleScheduler simple = new SimpleScheduler();
simple.startScheduler();
}
public void startScheduler(){
Scheduler scheduler=null;
try {
scheduler=StdSchedulerFactory.getDefaultScheduler();
//配置调度信息
JobDetail jobDetail1=new JobDetail("ScanDirectory1",Scheduler.DEFAULT_GROUP,ScanDirectoryJob.class);
jobDetail1.getJobDataMap().put("dirPath", "e:/");
JobDetail jobDetail2=new JobDetail("ScanDirectory2",Scheduler.DEFAULT_GROUP,ScanDirectoryJob.class);
jobDetail2.getJobDataMap().put("dirPath", "d:/");
// SimpleTrigger 创建定时
Trigger trigger1=TriggerUtils.makeSecondlyTrigger(10);
trigger1.setName("scanTrigger1");
trigger1.setStartTime(new Date()); //设置启动时间
//CronTrigger
CronTrigger trigger2=null;
try {
trigger2 = new CronTrigger("cronTrigger2",null,"0 0/1 * * * ?");
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
scheduler.scheduleJob(jobDetail1, trigger1);
scheduler.scheduleJob(jobDetail2, trigger2);
scheduler.start();
} catch (SchedulerException e) {
e.printStackTrace();
}
}
}
public class ScanDirectoryJob implements Job {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
JobDetail jobDetail= context.getJobDetail();
System.out.println("jobDetail name :"+jobDetail.getName());
JobDataMap dataMap =jobDetail.getJobDataMap();
String dirPath =dataMap.getString("dirPath");
File file = new File(dirPath);
File[] files=file.listFiles();
for (int i = 0; i < files.length; i++) {
File aFile = files[i].getAbsoluteFile();
String msg = aFile+"---data:"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(aFile.lastModified()));
System.out.println(msg);
}
}
public void work(){
System.out.println(name);
}