找到包
public static void Test2(){
Scheduler scheduler = null;
SchedulerFactory schedulerFactory = new StdSchedulerFactory();
try {
scheduler = schedulerFactory.getScheduler();
} catch (SchedulerException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
try {
scheduler.start();
} catch (SchedulerException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// 创建Job
JobDetail jobDetail = JobBuilder.newJob(SleepQuartZJob2.class)
.withIdentity("Test2 Job", "data process")
.setJobData(createJobData())
.build();
// 创建Trigger
SimpleTrigger trigger = TriggerBuilder.newTrigger()
.withIdentity("Test2 Job", "data process")
.startNow()
.withSchedule(SimpleScheduleBuilder
.simpleSchedule()
// .withIntervalInMinutes(2) //2分钟
.withIntervalInSeconds(5)
.repeatForever())
.build();
try {
scheduler.scheduleJob(jobDetail, trigger);
} catch (SchedulerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
org.quartz.scheduler.instanceName = test
org.quartz.threadPool.threadCount = 1
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
# disable auto-upating quartz
org.quartz.scheduler.skipUpdateCheck: true
org.quartz.threadPool.threadCount 是调度任务的线程个数,若不足的话无法并行化执行。
注意:
1. 同一种任务有时需要串行执行的话
设置为 StatefulJob 就可以实现,串行执行。 此接口是deprecation的,不知道如何实现下一步情况。
2 解决log4j:WARN Please initialize the log4j system properly 问题解决
log4j.properties文件需要放到web-inf/class目录下面,在eclipse里面放到src目录下面,会自动拷贝到class目录下面去。