Java 为什么';石英管不行吗?
我使用Quartz lib,我有如下简单代码:Java 为什么';石英管不行吗?,java,concurrency,quartz-scheduler,Java,Concurrency,Quartz Scheduler,我使用Quartz lib,我有如下简单代码: public void run() { try { SchedulerFactory factory = new StdSchedulerFactory(); Scheduler scheduler = factory.getScheduler(); scheduler.start(); JobDetail job = JobBuilder
public void run() {
try {
SchedulerFactory factory = new StdSchedulerFactory();
Scheduler scheduler = factory.getScheduler();
scheduler.start();
JobDetail job = JobBuilder
.newJob(HelloWorldJob.class)
.withIdentity("tJob")
.build();
Trigger t = TriggerBuilder
.newTrigger()
.withIdentity("tTrigger")
.startNow()
.withSchedule(CronScheduleBuilder.dailyAtHourAndMinute(19, 50).inTimeZone(TimeZone.getDefault()))
.build();
scheduler.scheduleJob(job, t);
} catch (Exception e) {
e.printStackTrace();
}
}
职业类别:
public class HelloWorldJob implements Job {
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
System.out.println("HELLO WORLD");
}
}
19:50-是我期望看到结果的时候。
但它不起作用。
这部分代码有什么问题
也许我忘了什么。请帮帮我
另外,我试过使用.inTimeZone(TimeZone.getDefault())
但没有。我在这两方面都得到了相同的结果
天哪
今天工作很好。但我发誓,昨天它没用。
也许是时间可视化的问题?
今天我设定了11小时52分钟。它在11:52运行良好,并在控制台上写“Hello”,但昨天我写了19:50,它没有工作。
我应该在另一个时间系统中写作吗?上午/下午?
或者什么鬼东西?run方法中的代码似乎还可以。
t
的失火指令是什么?也就是说,t.getMisfireInstruction()。在安排作业后,您是否可以检查下一次触发时间(t.getFireTimeAfter(new Date())
)?run方法中的代码似乎没有问题。t
的失火指令是什么?也就是说,t.getMisfireInstruction()。您能否在安排作业后检查下一次启动时间(t.getFireTimeAfter(new Date())
)?