我试图使用石英api实现一个CronTrigger,它工作得很好,但是不太好,当它达到cron表达式时,作业会无限执行,我不知道为什么。
我只想在cron表达式到达时执行1次。
有人能帮我知道为什么它多次被执行吗?
这是我的密码
package cron;
import java.text.ParseException;
import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.impl.StdSchedulerFactory;
import cron.HelloJob;
public class Quartz {
public static void main(String[] args) throws ParseException, SchedulerException {
JobDetail job = new JobDetail();
job.setName("health check");
job.setJobClass(HelloJob.class);
System.out.println("After job");
CronTrigger triggr = new CronTrigger();
triggr.setName("Check");
triggr.setCronExpression("* 50 07 * * ? *");
System.out.println("Cron expression" + triggr.getCronExpression());
Scheduler scheduler2 = new StdSchedulerFactory().getScheduler();
scheduler2.start();
scheduler2.scheduleJob(job, triggr);
}
}这是我们的工作
package cron;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class HelloJob implements Job {
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
System.out.println("Hello job");
}
}这是我的输出

我只想要一张印在我的箱子上
发布于 2018-02-09 14:13:36
您将其配置为每秒钟触发一次(第一个*):
triggr.setCronExpression("* 50 07 * * ? *");要解决这个问题,只需输入一个值,例如0:
triggr.setCronExpression("0 15 15 * * * *");这应该在每天15:15 (hh:mm:ss)触发。
参见这里的用法:
http://www.quartz-scheduler.org/documentation/quartz-2.x/tutorials/crontrigger.html
https://stackoverflow.com/questions/48707682
复制相似问题