【问题标题】:Quartz jobs not runningQuartz 作业未运行
【发布时间】:2012-01-30 20:04:56
【问题描述】:

使用 Java Quartz,我能够安排一项工作。然后我尝试了类似下面的代码来添加其他工作。现在似乎两者都没有在定义的时间触发。我做错了什么?

我想使用以下方法,而不是 xml 配置。

   scheduler = StdSchedulerFactory.getDefaultScheduler();


   JobDetail jobFull = new JobDetail("job1", "group1", IntegrationJobFull.class);
   JobDetail jobPartial = new JobDetail("job2", "group1", IntegrationJobPartial.class);

   CronTrigger triggerFull = new CronTrigger("trigger1", "group1", "job1", "group1", "0 15 3 * * ?");
   CronTrigger triggerPartial = new CronTrigger("trigger2", "group1", "job2", "group1", "* 0,30 * * * ?");

   scheduler.addJob(jobFull, false);
   scheduler.addJob(jobPartial, false);

   scheduler.scheduleJob(triggerFull);
   scheduler.scheduleJob(triggerPartial);

   scheduler.start();

【问题讨论】:

    标签: java quartz-scheduler


    【解决方案1】:

    上面创建的JobDetails 是非持久的,这意味着addJob 方法将失败。使用重载的scheduleJob 方法来关联作业和触发器。

    删除 addJobscheduleJob 调用并替换为:

    scheduler.scheduleJob(jobFull, triggerFull);
    scheduler.scheduleJob(jobPartial, triggerPartial);
    

    还为 trigger2 指定了秒字段 *。这意味着作业将在指定的分钟内每秒触发一次。我不确定这是不是我的意图。

    所需的 cron 表达式可能是:

    "0 0,30 * * * ?"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-12
      • 2022-08-10
      • 1970-01-01
      • 2017-07-13
      相关资源
      最近更新 更多