首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >石英CronTrigger多次自燃

石英CronTrigger多次自燃
EN

Stack Overflow用户
提问于 2018-02-09 14:06:03
回答 1查看 647关注 0票数 1

我试图使用石英api实现一个CronTrigger,它工作得很好,但是不太好,当它达到cron表达式时,作业会无限执行,我不知道为什么。

我只想在cron表达式到达时执行1次。

有人能帮我知道为什么它多次被执行吗?

这是我的密码

代码语言:javascript
复制
    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);
    }

}

这是我们的工作

代码语言:javascript
复制
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");


    }


}

这是我的输出

我只想要一张印在我的箱子上

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-09 14:13:36

您将其配置为每秒钟触发一次(第一个*):

代码语言:javascript
复制
triggr.setCronExpression("* 50 07 * * ? *");

要解决这个问题,只需输入一个值,例如0:

代码语言:javascript
复制
triggr.setCronExpression("0 15 15 * * * *");

这应该在每天15:15 (hh:mm:ss)触发。

参见这里的用法:

http://www.quartz-scheduler.org/documentation/quartz-2.x/tutorials/crontrigger.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48707682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档