Community
Participate
Working Groups
//notify listeners outside sync block
jobListeners.scheduled((Job) job, delay, reschedule);
//schedule the job
doSchedule(job, delay);
synchronized (lock) {
//must reassert scheduling conditions because listeners
//could reschedule the same job (bug 68452)
if (job.getState() == Job.RUNNING) {
job.setStartTime(delay);
return;
}
if (job.getState() != Job.NONE)
//call the pool outside sync block to avoid deadlock
pool.jobQueued(job);