Java 如何在外部停止从main方法运行的quartz调度程序

Java 如何在外部停止从main方法运行的quartz调度程序,java,jar,quartz-scheduler,executable-jar,Java,Jar,Quartz Scheduler,Executable Jar,我从jar文件的主类运行这个方法。 如何在不终止java进程的情况下正确关闭quartz。 对于当前运行的quartz,是否有方法调用调度程序上的shutdown方法?在另一个线程中使用新建StdSchedulerFactory().getScheduler(),以获取对主线程中启动的调度程序的引用 为什么这样做有效?在两个工厂实例上调用StdSchedulerFactory#getScheduler使用同一个SchedulerRepository单例,该单例包含所有正在运行的quartz调度器

我从jar文件的主类运行这个方法。 如何在不终止java进程的情况下正确关闭quartz。
对于当前运行的quartz,是否有方法调用调度程序上的shutdown方法?在另一个线程中使用
新建StdSchedulerFactory().getScheduler()
,以获取对主线程中启动的调度程序的引用


为什么这样做有效?在两个工厂实例上调用StdSchedulerFactory#getScheduler使用同一个SchedulerRepository单例,该单例包含所有正在运行的quartz调度器的映射,在本例中,它只是默认的调度器。

您是否尝试过使用
新StdSchedulerFactory().getScheduler()
在另一个线程中获取对主线程中启动的调度程序的引用?是的,它工作了,感谢luc14n0i无法理解这个概念。你的意思是我需要在另一个线程中监视文件的存在吗。如果文件不存在。。关闭quartz调度程序?你能在这里给出一些示例代码吗。
  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);
        }
    }