我現在用的石英調度安排工作。而且我可以按照通常的方式安排工作,沒有任何問題。通過一個Web應用程序使用用戶輸入
代碼
public class QuartzTest implements Job {
public void execute(JobExecutionContext context)
throws JobExecutionException {
System.out.println("Hello Quartz on " + new Date());
}
public static Scheduler scheduler;
public void scheduleLoad(String time, int jobNo) {
try {
// Transform user input into a date
SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy:HH:mm:ss");
Date scheduleDate = dateFormat.parse(time);
// Grab the Scheduler instance from the Factory
//Scheduler
scheduler = StdSchedulerFactory.getDefaultScheduler();
// Listener
//scheduler.getListenerManager().addJobListener(new SimpleJobListener());
// and start it if it is shut down
if(!scheduler.isStarted())
scheduler.start();
// Define a job and tie it to a class
JobDetail job = newJob(QuartzTest.class)
.withIdentity("job"+jobNo)
.build();
// Define trigger
SimpleTrigger trigger = (SimpleTrigger) newTrigger()
.startAt(scheduleDate)
.forJob("job"+jobNo)
.build();
// Schedule job using trigger
scheduler.scheduleJob(job, trigger);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws SchedulerException {
String runTime = "04/15/2013:17:37:10";
QuartzTest quartz = new QuartzTest();
quartz.scheduleLoad(runTime,1);
String runTime2 = "04/15/2013:17:37:15";
quartz.scheduleLoad(runTime2,2);
String runTime3 = "04/15/2013:17:37:20";
quartz.scheduleLoad(runTime3,3);
}
}
但我要創建一個Web應用程序,在我所安排使用「用戶輸入」的工作。這是我陷入困境的地方。我該怎麼做呢 ?我將使用JSP。
EG-用戶1的命令 - /home/user/load.sh -a -b -c(週一時間表) 用戶2的命令 - /home/user/load.sh -a -b -g(週二時間表)
我可以從網頁作爲字符串取得用戶的命令,計劃日期等,再後來Quartz調度裏面解析這個字符串。但是,如何將這個字符串首先傳遞給Quartz來安排用戶的工作?
只是爲了讓自己清楚 - 我希望用戶能夠定義自己的工作和時間表。
感謝
'JSP!= webapp'。看看['servlets'](http://stackoverflow.com/tags/servlets/info)。 –
不要把'jsp'腳本編譯成一個'servlet'? –
當然,但不要那樣做。這是不好的做法。 –