Quartz Scheduler Administration Page:有关失火触发器的信息

Quartz Scheduler Administration Page: Information about misfired triggers

我们有一个使用 quartz 2.2.1 的 Java 应用程序 (ESB),我们用它来安排数百个用户作业。

我想在我的应用程序中为我们的用户构建监控页面(或调度程序管理页面),以便他们可以查看 quartz 调度程序是否 运行 正常或此组件是否存在任何问题。

quartz 是否为此目的提供任何监控 API?任何人都可以根据您的经验告诉我们应该在此监控(或管理)页面中显示哪些所有数据点?我能想到的几点:

  1. 调度器状态(运行 | 暂停 | 关闭)。
  2. 职位数 运行 "Previous Fire Time" 和 "Next FireTime" 信息。
  3. 线程池实现及其大小。
  4. JDBCJobStore 配置详细信息。

有没有办法显示有关未触发的触发器的信息?我没有看到任何 API 向我提供有关未触发触发器的信息。谁能告诉我如何从调度程序获取此信息?

在这方面的任何帮助都将不胜感激。

你在这里命名了许多不同的问题

调度程序状态(1) :

Scheduler sched =...
sched.isInStandbyMode();
sched.isStarted();
sched.isShutdown();

职位数量 运行...(2) 请参阅 here

Scheduler scheduler = new StdSchedulerFactory().getScheduler();

   for (String groupName : scheduler.getJobGroupNames()) {

     for (JobKey jobKey : scheduler.getJobKeys(GroupMatcher.jobGroupEquals(groupName))) {

      String jobName = jobKey.getName();
      String jobGroup = jobKey.getGroup();

      //get job's trigger
      List<Trigger> triggers = (List<Trigger>) scheduler.getTriggersOfJob(jobKey);
      Date nextFireTime = triggers.get(0).getNextFireTime(); 

        System.out.println("[jobName] : " + jobName + " [groupName] : "
            + jobGroup + " - " + nextFireTime);

      }

    }

线程池实现及其大小。(3)

Scheduler sched =...
sched.getMetaData().getThreadPoolClass()
sched.getMetaData().getThreadPoolSize()

关于"triggers that were misfired",你可以使用listeners, specifically TriggerListener.html#triggerMisfired可能对你有帮助。