如何从外部停止 quartz 调度程序,它是 运行 从 main 方法

How to stop quartz scheduler externally which is running from main method

  public static void main(String[] test) {
        try {

            JobKey jobKeyA = new JobKey("JobAssignVehicleDailyrideFixedVehicle", "group1");
            JobDetail jobA = JobBuilder.newJob(JobAssignVehicleDailyrideFixedVehicle.class)
                    .withIdentity(jobKeyA).build();
            Trigger trigger1 = TriggerBuilder
                    .newTrigger()
                    .withIdentity("Trigger1", "group1")
                    .withSchedule(
                            CronScheduleBuilder.cronSchedule("0/5 * * * * ?"))
                    .build();
                    scheduler = new StdSchedulerFactory().getScheduler();
            scheduler.start();
            scheduler.scheduleJob(jobA, trigger1);
            } catch (SchedulerException e) {
            logger.error(e);
        }
    }

我运行这个方法来自主要class来自jar文件。 如何在不终止 java 进程的情况下正确关闭石英。 有没有办法在当前 运行 quartz

的调度程序上调用关闭方法

在其他线程中使用 new StdSchedulerFactory().getScheduler() 获取对在主线程中启动的调度程序的引用。

为什么这行得通?在两个工厂实例上调用 StdSchedulerFactory#getScheduler 使用相同的 SchedulerRepository 单例,其中包含所有 运行 石英调度程序的映射,它在这种情况只是默认调度程序。