Re: Simple Task Scheduler
On Mar 18, 9:35 pm, Arne Vajh=F8j <a...@vajhoej.dk> wrote:
soup_or_po...@yahoo.com wrote:
Thanks for the feedback. My problem is the requests for scheduler come
in at run time. A FIFO or a queue implementation is required to handle
the scheduler requests. I found several implementations where the
authors/architects are using a static list of tasks to be scheduled. I
went quickly through the Quartz tutorial and felt it was not meant for
me at this time. Do you agree with me?
Quartz will start job X at time T. Or X1 at T1 and X2 at T2.
If you need sequential jobs, then create a job with a queue
of jobs, tell Quartz to run the main job and let the main job
run the jobs in the queue sequentially.
Arne
I downloaded the 1.6 build and it didn't work with the commons jar
provided in the zip. So I downloaded 1.5 and it had no errors at run
time. I am posting the the code I cooked up because it doesn't work as
intended. The setDaemon method was ignored. I want to eventually port
this code to a servlet in a Tomcat environment. Unless the thread can
be sent to background as daemon, I think there is no way to make it
fly. I tested the code on a RedHat Linux. I'd appreciate any comments.
Oh another thing, if I don't comment out the scheduler shutdown, the
trigger never fires!! What giveS?
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.SimpleTrigger;
import org.quartz.TriggerUtils;
import org.quartz.impl.StdSchedulerFactory;
import java.sql.Date;
import java.util.*;
public class t extends Thread {
public void run() {
try{
SchedulerFactory schedFact = new
org.quartz.impl.StdSchedulerFactory();
Scheduler sched = schedFact.getScheduler();
sched.start();
JobDetail jobDetail = new JobDetail("myJob",
null,
HelloJob.class);
jobDetail.getJobDataMap().put("input", "hello there again");
long startTime = System.currentTimeMillis() + 10000L;
SimpleTrigger trigger = new SimpleTrigger("myTrigger",
null,
new Date(startTime),
null,
0,
0L);
trigger.setName("myTrigger");
sched.scheduleJob(jobDetail, trigger);
//sched.shutdown(true);
}catch(Exception e) {}
}
public static void main (String [] args) {
t ex = new t();
//t.run();
ex.setDaemon(true);
ex.setPriority(Thread.MAX_PRIORITY);
ex.start();
//System.exit(0);
}
}
~