首先添加所需要的類(lèi)包:quartz-1.5.2.jar,quartz-all-1.5.2.jar,quartz-jboss-1.5.2.jar
//設(shè)置定時(shí)作業(yè)
public void startScheduler(HttpServletRequest requests)throws SchedulerException{
try{
//建立作業(yè)調(diào)度器
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
//判斷作業(yè)調(diào)度內(nèi)是否有作業(yè),如果有將其刪除
if (!scheduler.isShutdown()) {
scheduler.deleteJob("ReceiveOnTimed", Scheduler.DEFAULT_GROUP);
}
//刪除調(diào)度器的作業(yè)后,新建一個(gè)我們現(xiàn)在要完成的作業(yè),該作業(yè)所需要的類(lèi)是ReceiveJobd.class,作業(yè)名字是ReceiveOnTimes,所屬分組是Scheduler.DEFAULT_GROUP
JobDetail jobDetail = new JobDetail("ReceiveOnTimed",
Scheduler.DEFAULT_GROUP,
ReceiveJobd.class);
int m = ips.length;
int n = tablenames.length;
//向作業(yè)內(nèi)設(shè)置要傳入的參數(shù)
jobDetail.getJobDataMap().put("scheduler", scheduler);
jobDetail.getJobDataMap().put("ipLength", m);
jobDetail.getJobDataMap().put("tablenameLength", n);
jobDetail.getJobDataMap().put("wcx",wc);
for (int i = 0; i < m; i++) {
jobDetail.getJobDataMap().put("ip" + i, ips[i]);
for (int j = 0; j < n; j++) {
jobDetail.getJobDataMap().put("tablename" + j, tablenames[j]);
}
}
//建立觸發(fā)器,判斷何時(shí)觸發(fā)該作業(yè),參數(shù)為觸發(fā)器的名稱(chēng),觸發(fā)器分組,作業(yè)名稱(chēng),作業(yè)分組,時(shí)間設(shè)定
Trigger trigger = new CronTrigger("ReceiverOnTimeTriggerd",
scheduler.DEFAULT_GROUP,
"ReceiveOnTimed",