# 示例11 - 集群化的Quartz

说明

此作业演示如何在集群环境中使用Quartz,以及Quartz如何使用数据库持久化调度信息。

# SimpleRecoveryJob.java源码

package org.quartz.examples.example13;

import org.quartz.Job;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.JobKey;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Date;

/**
 * Job的一个缺陷实现,用于单元测试
 * 作者:James House
 */
public class SimpleRecoveryJob implements Job {

  private static Logger _log = LoggerFactory.getLogger(SimpleRecoveryJob.class);

  private static final String COUNT = "count";

  /**
   * Quartz需要一个公共的空参构造函数,以便调度器可以在需要时实例化类
   */
  public SimpleRecoveryJob() {
  }

  /**
   * 当与此作业相关联的触发器触发时,由调度器调用此方法
   * Throws:作业执行异常(JobExecutionException)-当执行作业时产生异常
   */
  public void execute(JobExecutionContext context) throws JobExecutionException {

    JobKey jobKey = context.getJobDetail().getKey();

    //如果作业正在恢复,则打印消息
    if (context.isRecovering()) {
      _log.info("SimpleRecoveryJob: " + jobKey + " RECOVERING at " + new Date());
    } else {
      _log.info("SimpleRecoveryJob: " + jobKey + " starting at " + new Date());
    }

    //延迟10秒
    long delay = 10L * 1000L;
    try {
      Thread.sleep(delay);
    } catch (Exception e) {
      //
    }

    JobDataMap data = context.getJobDetail().getJobDataMap();
    int count;
    if (data.containsKey(COUNT)) {
      count = data.getInt(COUNT);
    } else {
      count = 0;
    }
    count++;
    data.put(COUNT, count);

    _log.info("SimpleRecoveryJob: " + jobKey + " done at " + new Date() + "\n Execution #" + count);

  }

}

# SimpleRecoveryStatefulJob.java源码

package org.quartz.examples.example13;

import org.quartz.DisallowConcurrentExecution;
import org.quartz.PersistJobDataAfterExecution;

/**
 * 此作业具有与SimpleRecoveryJob相同的功能,只是此作业实现的是“有状态”的,因为它将在每次执行后自动重新持久化其数据  
 *(JobDataMap),并且一次只能执行JobDetail的一个实例
 * 作者:Bill Kratzer
 */
@PersistJobDataAfterExecution
@DisallowConcurrentExecution
public class SimpleRecoveryStatefulJob extends SimpleRecoveryJob {

  public SimpleRecoveryStatefulJob() {
    super();
  }
}

# ClusterExample.java源码

package org.quartz.examples.example13;

import static org.quartz.DateBuilder.futureDate;
import static org.quartz.JobBuilder.newJob;
import static org.quartz.SimpleScheduleBuilder.simpleSchedule;
import static org.quartz.TriggerBuilder.newTrigger;
import org.quartz.DateBuilder.IntervalUnit;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerFactory;
import org.quartz.SimpleTrigger;
import org.quartz.impl.StdSchedulerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 用于测试/显示JDBCJobStore(JobStoreTX或JobStoreCMT)的群集功能
 * 所有实例都必须使用不同的属性文件,因为它们的实例ID必须不同,但所有其他属性都应该相同
 * 如果您希望它清除现有的作业和触发器,请传递一个名为“clearJobs”的命令行参数
 * 您可能应该从一组“新的”表开始(假设您可能有来自其他测试的数据遗留在其中),因为将非集群设置的数据与集群设置的混合可能会很糟糕
 * 尝试在运行时杀死其中一个群集实例,并查看其余实例是否恢复正在进行的作业。注意,在默认设置下,检测故障可能需要15秒左右的时间
 * 也可以尝试在调度程序中注册/不注册关机挂钩插件的情况下运行它。(org.quartz.plugins.management.ShutdownHookPlugin)
 * 注意:不要在单独的机器上运行集群,除非它们的时钟使用某种形式的时间同步服务(如NTP守护程序)进行同步
 * 
 * 参考:SimpleRecoveryJob
 * 参考:SimpleRecoveryStatefulJob
 * 作者:James House
 */
public class ClusterExample {

  private static Logger _log = LoggerFactory.getLogger(ClusterExample.class);

  public void run(boolean inClearJobs, boolean inScheduleJobs) throws Exception {

    //首先,我们必须获得对调度器的引用
    SchedulerFactory sf = new StdSchedulerFactory();
    Scheduler sched = sf.getScheduler();

    if (inClearJobs) {
      _log.warn("***** Deleting existing jobs/triggers *****");
      sched.clear();
    }

    _log.info("------- Initialization Complete -----------");

    if (inScheduleJobs) {

      _log.info("------- Scheduling Jobs ------------------");

      String schedId = sched.getSchedulerInstanceId();

      int count = 1;

      //将触发器放在以集群节点实例命名的组中,以便(在日志记录中)区分调度的内容和请求调度器
      //在调度程序停止时重新执行此作业的位置
      JobDetail job = newJob(SimpleRecoveryJob.class).withIdentity("job_" + count, schedId) 
          .requestRecovery()
          .build();

      SimpleTrigger trigger = newTrigger().withIdentity("triger_" + count, schedId)
          .startAt(futureDate(1, IntervalUnit.SECOND))
          .withSchedule(simpleSchedule().withRepeatCount(20).withIntervalInSeconds(5)).build();

      _log.info(job.getKey() + " will run at: " + trigger.getNextFireTime() + " and repeat: "
                + trigger.getRepeatCount() + " times, every " + trigger.getRepeatInterval() / 1000 + " seconds");
      sched.scheduleJob(job, trigger);

      count++;
		
      //将触发器放在以集群节点实例命名的组中,以便(在日志记录中)区分调度的内容和请求调度器
      //在调度程序停止时重新执行此作业的位置
      job = newJob(SimpleRecoveryJob.class).withIdentity("job_" + count, schedId) 
          .requestRecovery()
          .build();

      trigger = newTrigger().withIdentity("triger_" + count, schedId).startAt(futureDate(2, IntervalUnit.SECOND))
          .withSchedule(simpleSchedule().withRepeatCount(20).withIntervalInSeconds(5)).build();

      _log.info(job.getKey() + " will run at: " + trigger.getNextFireTime() + " and repeat: "
                + trigger.getRepeatCount() + " times, every " + trigger.getRepeatInterval() / 1000 + " seconds");
      sched.scheduleJob(job, trigger);

      count++;

      //将触发器放在以集群节点实例命名的组中,以便(在日志记录中)区分调度的内容和请求调度器
      //在调度程序停止时重新执行此作业的位置
      job = newJob(SimpleRecoveryStatefulJob.class).withIdentity("job_" + count, schedId) 
          .requestRecovery()
          .build();

      trigger = newTrigger().withIdentity("triger_" + count, schedId).startAt(futureDate(1, IntervalUnit.SECOND))
          .withSchedule(simpleSchedule().withRepeatCount(20).withIntervalInSeconds(3)).build();

      _log.info(job.getKey() + " will run at: " + trigger.getNextFireTime() + " and repeat: "
                + trigger.getRepeatCount() + " times, every " + trigger.getRepeatInterval() / 1000 + " seconds");
      sched.scheduleJob(job, trigger);

      count++;

      //将触发器放在以集群节点实例命名的组中,以便(在日志记录中)区分调度的内容和请求调度器
      //在调度程序停止时重新执行此作业的位置
      job = newJob(SimpleRecoveryJob.class).withIdentity("job_" + count, schedId)
          .requestRecovery()
          .build();

      trigger = newTrigger().withIdentity("triger_" + count, schedId).startAt(futureDate(1, IntervalUnit.SECOND))
          .withSchedule(simpleSchedule().withRepeatCount(20).withIntervalInSeconds(4)).build();

      _log.info(job.getKey() + " will run at: " + trigger.getNextFireTime() + " & repeat: " + trigger.getRepeatCount()
                + "/" + trigger.getRepeatInterval());
      sched.scheduleJob(job, trigger);

      count++;

      //将触发器放在以集群节点实例命名的组中,以便(在日志记录中)区分调度的内容和请求调度器
      //在调度程序停止时重新执行此作业的位置
      job = newJob(SimpleRecoveryJob.class).withIdentity("job_" + count, schedId)
          .requestRecovery()
          .build();

      trigger = newTrigger().withIdentity("triger_" + count, schedId).startAt(futureDate(1, IntervalUnit.SECOND))
          .withSchedule(simpleSchedule().withRepeatCount(20).withIntervalInMilliseconds(4500L)).build();

      _log.info(job.getKey() + " will run at: " + trigger.getNextFireTime() + " & repeat: " + trigger.getRepeatCount()
                + "/" + trigger.getRepeatInterval());
      sched.scheduleJob(job, trigger);
    }

    //在调用start()之前,作业不会启动
    _log.info("------- Starting Scheduler ---------------");
    sched.start();
    _log.info("------- Started Scheduler ----------------");

    _log.info("------- Waiting for one hour... ----------");
    try {
      Thread.sleep(3600L * 1000L);
    } catch (Exception e) {
      //
    }

    _log.info("------- Shutting Down --------------------");
    sched.shutdown();
    _log.info("------- Shutdown Complete ----------------");
  }

  public static void main(String[] args) throws Exception {
    boolean clearJobs = false;
    boolean scheduleJobs = true;

    for (String arg : args) {
      if (arg.equalsIgnoreCase("clearJobs")) {
        clearJobs = true;
      } else if (arg.equalsIgnoreCase("dontScheduleJobs")) {
        scheduleJobs = false;
      }
    }

    ClusterExample example = new ClusterExample();
    example.run(clearJobs, scheduleJobs);
  }
}

# 控制台输出

[main] INFO org.quartz.impl.StdSchedulerFactory - Using default implementation for ThreadExecutor
[main] INFO org.quartz.simpl.SimpleThreadPool - Job execution threads will use class loader of thread: main
[main] INFO org.quartz.core.SchedulerSignalerImpl - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl
[main] INFO org.quartz.core.QuartzScheduler - Quartz Scheduler v.2.3.0 created.
[main] INFO org.quartz.simpl.RAMJobStore - RAMJobStore initialized.
[main] INFO org.quartz.core.QuartzScheduler - Scheduler meta-data: Quartz Scheduler (v2.3.0) 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED'
  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
  NOT STARTED.
  Currently in standby mode.
  Number of jobs executed: 0
  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.

[main] INFO org.quartz.impl.StdSchedulerFactory - Quartz scheduler 'DefaultQuartzScheduler' initialized from default resource file in Quartz package: 'quartz.properties'
[main] INFO org.quartz.impl.StdSchedulerFactory - Quartz scheduler version: 2.3.0
[main] INFO org.quartz.examples.example13.ClusterExample - ------- Initialization Complete -----------
[main] INFO org.quartz.examples.example13.ClusterExample - ------- Scheduling Jobs ------------------
[main] INFO org.quartz.examples.example13.ClusterExample - NON_CLUSTERED.job_1 will run at: null and repeat: 20 times, every 5 seconds
[main] INFO org.quartz.examples.example13.ClusterExample - NON_CLUSTERED.job_2 will run at: null and repeat: 20 times, every 5 seconds
[main] INFO org.quartz.examples.example13.ClusterExample - NON_CLUSTERED.job_3 will run at: null and repeat: 20 times, every 3 seconds
[main] INFO org.quartz.examples.example13.ClusterExample - NON_CLUSTERED.job_4 will run at: null & repeat: 20/4000
[main] INFO org.quartz.examples.example13.ClusterExample - NON_CLUSTERED.job_5 will run at: null & repeat: 20/4500
[main] INFO org.quartz.examples.example13.ClusterExample - ------- Starting Scheduler ---------------
[main] INFO org.quartz.core.QuartzScheduler - Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started.
[main] INFO org.quartz.examples.example13.ClusterExample - ------- Started Scheduler ----------------
[main] INFO org.quartz.examples.example13.ClusterExample - ------- Waiting for one hour... ----------
[DefaultQuartzScheduler_Worker-1] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 starting at Fri Dec 02 00:04:26 CST 2022
[DefaultQuartzScheduler_Worker-2] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 starting at Fri Dec 02 00:04:26 CST 2022
[DefaultQuartzScheduler_Worker-3] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 starting at Fri Dec 02 00:04:26 CST 2022
[DefaultQuartzScheduler_Worker-4] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 starting at Fri Dec 02 00:04:26 CST 2022
[DefaultQuartzScheduler_Worker-5] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 starting at Fri Dec 02 00:04:27 CST 2022
[DefaultQuartzScheduler_Worker-6] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 starting at Fri Dec 02 00:04:30 CST 2022
[DefaultQuartzScheduler_Worker-7] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 starting at Fri Dec 02 00:04:30 CST 2022
[DefaultQuartzScheduler_Worker-8] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 starting at Fri Dec 02 00:04:31 CST 2022
[DefaultQuartzScheduler_Worker-9] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 starting at Fri Dec 02 00:04:32 CST 2022
[DefaultQuartzScheduler_Worker-10] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 starting at Fri Dec 02 00:04:34 CST 2022
[DefaultQuartzScheduler_Worker-1] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 done at Fri Dec 02 00:04:36 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-1] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 starting at Fri Dec 02 00:04:36 CST 2022
[DefaultQuartzScheduler_Worker-2] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 done at Fri Dec 02 00:04:36 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-4] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 done at Fri Dec 02 00:04:36 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-3] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 done at Fri Dec 02 00:04:36 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-2] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 starting at Fri Dec 02 00:04:36 CST 2022
[DefaultQuartzScheduler_Worker-4] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 starting at Fri Dec 02 00:04:36 CST 2022
[DefaultQuartzScheduler_Worker-5] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 done at Fri Dec 02 00:04:37 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-3] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 starting at Fri Dec 02 00:04:37 CST 2022
[DefaultQuartzScheduler_Worker-5] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 starting at Fri Dec 02 00:04:38 CST 2022
[DefaultQuartzScheduler_Worker-6] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 done at Fri Dec 02 00:04:40 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-6] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 starting at Fri Dec 02 00:04:40 CST 2022
[DefaultQuartzScheduler_Worker-7] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 done at Fri Dec 02 00:04:40 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-8] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 done at Fri Dec 02 00:04:41 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-7] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 starting at Fri Dec 02 00:04:41 CST 2022
[DefaultQuartzScheduler_Worker-9] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 done at Fri Dec 02 00:04:42 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-8] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 starting at Fri Dec 02 00:04:42 CST 2022
[DefaultQuartzScheduler_Worker-9] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 starting at Fri Dec 02 00:04:42 CST 2022
[DefaultQuartzScheduler_Worker-10] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 done at Fri Dec 02 00:04:44 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-10] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 starting at Fri Dec 02 00:04:44 CST 2022
[DefaultQuartzScheduler_Worker-1] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 done at Fri Dec 02 00:04:46 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-1] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 starting at Fri Dec 02 00:04:46 CST 2022
[DefaultQuartzScheduler_Worker-4] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 done at Fri Dec 02 00:04:46 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-2] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 done at Fri Dec 02 00:04:46 CST 2022
 Execution #2
[DefaultQuartzScheduler_Worker-4] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 starting at Fri Dec 02 00:04:46 CST 2022
[DefaultQuartzScheduler_Worker-2] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 starting at Fri Dec 02 00:04:46 CST 2022
[DefaultQuartzScheduler_Worker-3] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 done at Fri Dec 02 00:04:47 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-3] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 starting at Fri Dec 02 00:04:47 CST 2022
[DefaultQuartzScheduler_Worker-5] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 done at Fri Dec 02 00:04:48 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-5] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 starting at Fri Dec 02 00:04:48 CST 2022
[DefaultQuartzScheduler_Worker-6] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 done at Fri Dec 02 00:04:50 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-6] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 starting at Fri Dec 02 00:04:50 CST 2022
[DefaultQuartzScheduler_Worker-7] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 done at Fri Dec 02 00:04:51 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-7] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 starting at Fri Dec 02 00:04:51 CST 2022
[DefaultQuartzScheduler_Worker-8] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 done at Fri Dec 02 00:04:52 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-9] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 done at Fri Dec 02 00:04:52 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-8] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 starting at Fri Dec 02 00:04:52 CST 2022
[DefaultQuartzScheduler_Worker-9] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 starting at Fri Dec 02 00:04:53 CST 2022
[DefaultQuartzScheduler_Worker-10] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 done at Fri Dec 02 00:04:54 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-10] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 starting at Fri Dec 02 00:04:54 CST 2022
[DefaultQuartzScheduler_Worker-1] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 done at Fri Dec 02 00:04:56 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-1] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 starting at Fri Dec 02 00:04:56 CST 2022
[DefaultQuartzScheduler_Worker-4] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 done at Fri Dec 02 00:04:56 CST 2022
 Execution #3
[DefaultQuartzScheduler_Worker-2] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 done at Fri Dec 02 00:04:56 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-4] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 starting at Fri Dec 02 00:04:56 CST 2022
[DefaultQuartzScheduler_Worker-2] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 starting at Fri Dec 02 00:04:57 CST 2022
[DefaultQuartzScheduler_Worker-3] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 done at Fri Dec 02 00:04:57 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-3] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 starting at Fri Dec 02 00:04:57 CST 2022
[DefaultQuartzScheduler_Worker-5] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 done at Fri Dec 02 00:04:58 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-5] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 starting at Fri Dec 02 00:04:58 CST 2022
[DefaultQuartzScheduler_Worker-6] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 done at Fri Dec 02 00:05:00 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-6] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 starting at Fri Dec 02 00:05:01 CST 2022
[DefaultQuartzScheduler_Worker-7] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 done at Fri Dec 02 00:05:01 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-7] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 starting at Fri Dec 02 00:05:02 CST 2022
[DefaultQuartzScheduler_Worker-8] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 done at Fri Dec 02 00:05:02 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-8] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 starting at Fri Dec 02 00:05:02 CST 2022
[DefaultQuartzScheduler_Worker-9] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 done at Fri Dec 02 00:05:03 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-9] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 starting at Fri Dec 02 00:05:03 CST 2022
[DefaultQuartzScheduler_Worker-10] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 done at Fri Dec 02 00:05:04 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-10] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 starting at Fri Dec 02 00:05:06 CST 2022
[DefaultQuartzScheduler_Worker-1] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 done at Fri Dec 02 00:05:06 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-1] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 starting at Fri Dec 02 00:05:06 CST 2022
[DefaultQuartzScheduler_Worker-4] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 done at Fri Dec 02 00:05:06 CST 2022
 Execution #4
[DefaultQuartzScheduler_Worker-4] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 starting at Fri Dec 02 00:05:06 CST 2022
[DefaultQuartzScheduler_Worker-2] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 done at Fri Dec 02 00:05:07 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-2] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 starting at Fri Dec 02 00:05:07 CST 2022
[DefaultQuartzScheduler_Worker-3] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 done at Fri Dec 02 00:05:07 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-3] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 starting at Fri Dec 02 00:05:07 CST 2022
[DefaultQuartzScheduler_Worker-5] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 done at Fri Dec 02 00:05:08 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-5] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 starting at Fri Dec 02 00:05:10 CST 2022
[DefaultQuartzScheduler_Worker-6] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 done at Fri Dec 02 00:05:11 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-6] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 starting at Fri Dec 02 00:05:11 CST 2022
[DefaultQuartzScheduler_Worker-7] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 done at Fri Dec 02 00:05:12 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-7] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 starting at Fri Dec 02 00:05:12 CST 2022
[DefaultQuartzScheduler_Worker-8] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 done at Fri Dec 02 00:05:12 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-8] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 starting at Fri Dec 02 00:05:12 CST 2022
[DefaultQuartzScheduler_Worker-9] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 done at Fri Dec 02 00:05:13 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-9] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 starting at Fri Dec 02 00:05:14 CST 2022
[DefaultQuartzScheduler_Worker-10] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 done at Fri Dec 02 00:05:16 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-10] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 starting at Fri Dec 02 00:05:16 CST 2022
[DefaultQuartzScheduler_Worker-1] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 done at Fri Dec 02 00:05:16 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-1] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 starting at Fri Dec 02 00:05:16 CST 2022
[DefaultQuartzScheduler_Worker-4] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 done at Fri Dec 02 00:05:16 CST 2022
 Execution #5
[DefaultQuartzScheduler_Worker-4] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 starting at Fri Dec 02 00:05:16 CST 2022
[DefaultQuartzScheduler_Worker-2] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 done at Fri Dec 02 00:05:17 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-2] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 starting at Fri Dec 02 00:05:17 CST 2022
[DefaultQuartzScheduler_Worker-3] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 done at Fri Dec 02 00:05:17 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-3] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 starting at Fri Dec 02 00:05:18 CST 2022
[DefaultQuartzScheduler_Worker-5] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 done at Fri Dec 02 00:05:20 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-5] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 starting at Fri Dec 02 00:05:20 CST 2022
[DefaultQuartzScheduler_Worker-6] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 done at Fri Dec 02 00:05:21 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-6] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 starting at Fri Dec 02 00:05:21 CST 2022
[DefaultQuartzScheduler_Worker-7] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 done at Fri Dec 02 00:05:22 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-7] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 starting at Fri Dec 02 00:05:22 CST 2022
[DefaultQuartzScheduler_Worker-8] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 done at Fri Dec 02 00:05:22 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-8] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 starting at Fri Dec 02 00:05:22 CST 2022
[DefaultQuartzScheduler_Worker-9] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 done at Fri Dec 02 00:05:24 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-9] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 starting at Fri Dec 02 00:05:24 CST 2022
[DefaultQuartzScheduler_Worker-10] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 done at Fri Dec 02 00:05:26 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-10] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 starting at Fri Dec 02 00:05:26 CST 2022
[DefaultQuartzScheduler_Worker-1] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 done at Fri Dec 02 00:05:26 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-1] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 starting at Fri Dec 02 00:05:26 CST 2022
[DefaultQuartzScheduler_Worker-4] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 done at Fri Dec 02 00:05:26 CST 2022
 Execution #6
[DefaultQuartzScheduler_Worker-4] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 starting at Fri Dec 02 00:05:26 CST 2022
[DefaultQuartzScheduler_Worker-2] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 done at Fri Dec 02 00:05:27 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-2] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 starting at Fri Dec 02 00:05:27 CST 2022
[DefaultQuartzScheduler_Worker-3] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 done at Fri Dec 02 00:05:28 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-3] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 starting at Fri Dec 02 00:05:29 CST 2022
[DefaultQuartzScheduler_Worker-5] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 done at Fri Dec 02 00:05:30 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-5] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 starting at Fri Dec 02 00:05:30 CST 2022
[DefaultQuartzScheduler_Worker-6] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 done at Fri Dec 02 00:05:31 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-6] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 starting at Fri Dec 02 00:05:31 CST 2022
[DefaultQuartzScheduler_Worker-7] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 done at Fri Dec 02 00:05:32 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-7] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 starting at Fri Dec 02 00:05:32 CST 2022
[DefaultQuartzScheduler_Worker-8] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 done at Fri Dec 02 00:05:32 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-8] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 starting at Fri Dec 02 00:05:33 CST 2022
[DefaultQuartzScheduler_Worker-9] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 done at Fri Dec 02 00:05:34 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-9] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 starting at Fri Dec 02 00:05:34 CST 2022
[DefaultQuartzScheduler_Worker-10] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 done at Fri Dec 02 00:05:36 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-10] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 starting at Fri Dec 02 00:05:36 CST 2022
[DefaultQuartzScheduler_Worker-1] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 done at Fri Dec 02 00:05:36 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-4] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 done at Fri Dec 02 00:05:36 CST 2022
 Execution #7
[DefaultQuartzScheduler_Worker-1] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 starting at Fri Dec 02 00:05:36 CST 2022
[DefaultQuartzScheduler_Worker-4] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 starting at Fri Dec 02 00:05:37 CST 2022
[DefaultQuartzScheduler_Worker-2] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 done at Fri Dec 02 00:05:37 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-2] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 starting at Fri Dec 02 00:05:38 CST 2022
[DefaultQuartzScheduler_Worker-3] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 done at Fri Dec 02 00:05:39 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-3] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 starting at Fri Dec 02 00:05:39 CST 2022
[DefaultQuartzScheduler_Worker-5] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 done at Fri Dec 02 00:05:40 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-5] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 starting at Fri Dec 02 00:05:41 CST 2022
[DefaultQuartzScheduler_Worker-6] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 done at Fri Dec 02 00:05:41 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-6] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 starting at Fri Dec 02 00:05:42 CST 2022
[DefaultQuartzScheduler_Worker-7] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 done at Fri Dec 02 00:05:42 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-7] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 starting at Fri Dec 02 00:05:42 CST 2022
[DefaultQuartzScheduler_Worker-8] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 done at Fri Dec 02 00:05:43 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-8] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 starting at Fri Dec 02 00:05:43 CST 2022
[DefaultQuartzScheduler_Worker-9] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 done at Fri Dec 02 00:05:44 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-9] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 starting at Fri Dec 02 00:05:46 CST 2022
[DefaultQuartzScheduler_Worker-10] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 done at Fri Dec 02 00:05:46 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-10] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 starting at Fri Dec 02 00:05:46 CST 2022
[DefaultQuartzScheduler_Worker-1] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 done at Fri Dec 02 00:05:46 CST 2022
 Execution #8
[DefaultQuartzScheduler_Worker-1] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 starting at Fri Dec 02 00:05:46 CST 2022
[DefaultQuartzScheduler_Worker-4] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 done at Fri Dec 02 00:05:47 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-4] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 starting at Fri Dec 02 00:05:47 CST 2022
[DefaultQuartzScheduler_Worker-2] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 done at Fri Dec 02 00:05:48 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-2] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 starting at Fri Dec 02 00:05:48 CST 2022
[DefaultQuartzScheduler_Worker-3] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 done at Fri Dec 02 00:05:49 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-5] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 done at Fri Dec 02 00:05:51 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-3] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 starting at Fri Dec 02 00:05:51 CST 2022
[DefaultQuartzScheduler_Worker-5] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 starting at Fri Dec 02 00:05:51 CST 2022
[DefaultQuartzScheduler_Worker-6] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 done at Fri Dec 02 00:05:52 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-6] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 starting at Fri Dec 02 00:05:52 CST 2022
[DefaultQuartzScheduler_Worker-7] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 done at Fri Dec 02 00:05:52 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-8] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 done at Fri Dec 02 00:05:53 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-9] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 done at Fri Dec 02 00:05:56 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-7] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 starting at Fri Dec 02 00:05:56 CST 2022
[DefaultQuartzScheduler_Worker-10] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_4 done at Fri Dec 02 00:05:56 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-8] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 starting at Fri Dec 02 00:05:56 CST 2022
[DefaultQuartzScheduler_Worker-1] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 done at Fri Dec 02 00:05:56 CST 2022
 Execution #9
[DefaultQuartzScheduler_Worker-9] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 starting at Fri Dec 02 00:05:56 CST 2022
[DefaultQuartzScheduler_Worker-4] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 done at Fri Dec 02 00:05:57 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-10] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 starting at Fri Dec 02 00:05:57 CST 2022
[DefaultQuartzScheduler_Worker-2] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 done at Fri Dec 02 00:05:58 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-1] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 starting at Fri Dec 02 00:06:01 CST 2022
[DefaultQuartzScheduler_Worker-3] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 done at Fri Dec 02 00:06:01 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-5] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 done at Fri Dec 02 00:06:01 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-6] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 done at Fri Dec 02 00:06:02 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-4] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 starting at Fri Dec 02 00:06:02 CST 2022
[DefaultQuartzScheduler_Worker-7] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 done at Fri Dec 02 00:06:06 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-2] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 starting at Fri Dec 02 00:06:06 CST 2022
[DefaultQuartzScheduler_Worker-8] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_5 done at Fri Dec 02 00:06:06 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-9] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 done at Fri Dec 02 00:06:06 CST 2022
 Execution #10
[DefaultQuartzScheduler_Worker-3] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 starting at Fri Dec 02 00:06:06 CST 2022
[DefaultQuartzScheduler_Worker-5] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 starting at Fri Dec 02 00:06:07 CST 2022
[DefaultQuartzScheduler_Worker-10] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 done at Fri Dec 02 00:06:07 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-1] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 done at Fri Dec 02 00:06:11 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-4] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 done at Fri Dec 02 00:06:12 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-2] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_1 done at Fri Dec 02 00:06:16 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-3] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 done at Fri Dec 02 00:06:16 CST 2022
 Execution #11
[DefaultQuartzScheduler_Worker-6] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 starting at Fri Dec 02 00:06:16 CST 2022
[DefaultQuartzScheduler_Worker-5] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_2 done at Fri Dec 02 00:06:17 CST 2022
 Execution #1
[DefaultQuartzScheduler_Worker-6] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 done at Fri Dec 02 00:06:26 CST 2022
 Execution #12
[DefaultQuartzScheduler_Worker-7] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 starting at Fri Dec 02 00:06:26 CST 2022
[DefaultQuartzScheduler_Worker-7] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 done at Fri Dec 02 00:06:36 CST 2022
 Execution #13
[DefaultQuartzScheduler_Worker-8] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 starting at Fri Dec 02 00:06:36 CST 2022
[DefaultQuartzScheduler_Worker-8] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 done at Fri Dec 02 00:06:46 CST 2022
 Execution #14
[DefaultQuartzScheduler_Worker-9] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 starting at Fri Dec 02 00:06:46 CST 2022
[DefaultQuartzScheduler_Worker-9] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 done at Fri Dec 02 00:06:56 CST 2022
 Execution #15
[DefaultQuartzScheduler_Worker-10] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 starting at Fri Dec 02 00:06:56 CST 2022
[DefaultQuartzScheduler_Worker-10] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 done at Fri Dec 02 00:07:06 CST 2022
 Execution #16
[DefaultQuartzScheduler_Worker-1] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 starting at Fri Dec 02 00:07:06 CST 2022
[DefaultQuartzScheduler_Worker-1] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 done at Fri Dec 02 00:07:16 CST 2022
 Execution #17
[DefaultQuartzScheduler_Worker-4] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 starting at Fri Dec 02 00:07:16 CST 2022
[DefaultQuartzScheduler_Worker-4] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 done at Fri Dec 02 00:07:26 CST 2022
 Execution #18
[DefaultQuartzScheduler_Worker-2] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 starting at Fri Dec 02 00:07:26 CST 2022
[DefaultQuartzScheduler_Worker-2] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 done at Fri Dec 02 00:07:36 CST 2022
 Execution #19
[DefaultQuartzScheduler_Worker-3] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 starting at Fri Dec 02 00:07:36 CST 2022
[DefaultQuartzScheduler_Worker-3] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 done at Fri Dec 02 00:07:46 CST 2022
 Execution #20
[DefaultQuartzScheduler_Worker-5] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 starting at Fri Dec 02 00:07:46 CST 2022
[DefaultQuartzScheduler_Worker-5] INFO org.quartz.examples.example13.SimpleRecoveryJob - SimpleRecoveryJob: NON_CLUSTERED.job_3 done at Fri Dec 02 00:07:56 CST 2022
 Execution #21
[main] INFO org.quartz.examples.example13.ClusterExample - ------- Shutting Down --------------------
[main] INFO org.quartz.core.QuartzScheduler - Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED shutting down.
[main] INFO org.quartz.core.QuartzScheduler - Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED paused.
[main] INFO org.quartz.core.QuartzScheduler - Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED shutdown complete.
[main] INFO org.quartz.examples.example13.ClusterExample - ------- Shutdown Complete ----------------

Process finished with exit code 0

微信公众号

QQ交流群
原创网站开发,偏差难以避免。

如若发现错误,诚心感谢反馈。

愿你倾心相念,愿你学有所成。

愿你朝华相顾,愿你前程似锦。