我将 Quartz 编码如下,第一个作业完美运行:
JobDetail jd = null;
CronTrigger ct = null;
jd = new JobDetail("Job1", "Group1", Job1.class);
ct = new CronTrigger("cronTrigger1","Group1","0/5 * * * * ?");
scheduler.scheduleJob(jd, ct);
jd = new JobDetail("Job2", "Group2", Job2.class);
ct = new CronTrigger("cronTrigger2","Group2","0/20 * * * * ?");
scheduler.scheduleJob(jd, ct);
但我发现 Job2 是一个完全独立于 Job1 的作业,它不会执行。
调度程序是使用 Java 中的监听器启动的。我也试过使用 scheduler.addJob(jd, true);但没有任何改变。我在 Windows 7 上通过 JVM 运行 Java。
最佳答案
您怎么知道作业没有运行?如果将 Job1.class
替换为 Job2.class
,它仍然会失败吗?当您交换将它们添加到调度程序的顺序,或者只离开 Job2
时?或者,如果您剥离 Job2
以仅向控制台打印一条消息?
我怀疑 Job2
的执行因异常而终止。
关于java - 在 Java 中使用 Quartz 运行两个作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3182366/