Bu oldukça düz bir şekilde ileri doğru olmalı, ancak hiçbir iş yürütülmediğini görüyorum. Görevin execute() yönteminde bir kesme noktası var, hiçbir iş parçacığı hiç gelmiyor. Neyin yanlış anlamadım.Quartz basit tetiklemiyor
Meslek
class Printer implements Job{
public Printer(){
System.out.println("created printer");
}
@Override
public void execute(JobExecutionContext context)
throws JobExecutionException {
System.out.println("hi" + context.getFireTime());
}
}
class MyClass {
public static void main(String[] args) throws Throwable {
Scheduler s = StdSchedulerFactory.getDefaultScheduler();
JobDetail job = newJob(Printer.class).build();
CronTrigger trigger =
newTrigger()
.withIdentity("a", "t")
.withSchedule(cronSchedule("0/5 * * * * ?").inTimeZone(TimeZone.getDefault()))
.forJob(job).build();
s.scheduleJob(job, trigger);
// This prints the right date!
System.out.println(trigger.getNextFireTime());
s.start();
}
}
DÜZENLEME ana sınıfı: Ben quartz.property dosyası yoktu keşfetti, bu yüzden kuvars için threadpool oldu imkanı yoktu hiç yaratılmadı.
DirectSchedulerFactory.getInstance().createVolatileScheduler(10);
Scheduler s = DirectSchedulerFactory.getInstance().getScheduler();
ne Tahmin: documentation okunduğunda nedenle, ben aşağıdaki StdSchedulerFactory kullanarak kodu değiştirilir? Hala şans yok. Aynı özdeş etki. Uygulama tetiklemeye değil, hayatta kalmaya devam ediyor.
Programınız sonlandırılmıyor mu? – Dariusz
Hayır, çünkü zamanlayıcıyı kapatmam (amaç). – sscarduzio
Uygulamanızın sadece s.start() 'dan hemen sonra bitmediğini doğruladınız mı? – Dariusz