Java 石英调度器启动和停止按钮

Java 石英调度器启动和停止按钮,java,swing,quartz-scheduler,Java,Swing,Quartz Scheduler,我正在尝试用JAVA创建一个cronjob应用程序。 我正在使用Quartz调度程序插件。一切看起来都很好,但我必须找到一种方法停止/暂停它,然后重新启动它 我使用Swing和带有两个按钮的系统托盘创建了一个GUI。停下来,开始。“开始”按钮工作正常,启动调度器输出所需的结果。但是,在计划程序关闭之前,我无法右键单击图标使菜单在系统托盘上弹出 下面是启动Cronjob的函数 public static void startCron(String serverAddress, int interv

我正在尝试用JAVA创建一个cronjob应用程序。 我正在使用Quartz调度程序插件。一切看起来都很好,但我必须找到一种方法停止/暂停它,然后重新启动它

我使用Swing和带有两个按钮的系统托盘创建了一个GUI。停下来,开始。“开始”按钮工作正常,启动调度器输出所需的结果。但是,在计划程序关闭之前,我无法右键单击图标使菜单在系统托盘上弹出

下面是启动Cronjob的函数

public static void startCron(String serverAddress, int interval) throws Exception {

        JobDetail job = JobBuilder.newJob(RunCron.class).withIdentity("mainCron", "group1").build();

        // Trigger the job to run on the next round minute
        Trigger trigger = TriggerBuilder
            .newTrigger()
            .withIdentity("dummyTriggerName", "group1")
            .withSchedule(
                SimpleScheduleBuilder.simpleSchedule()
                    .withIntervalInSeconds(interval).repeatForever())
            .build();


        // schedule it
        Scheduler scheduler = new StdSchedulerFactory().getScheduler();
        scheduler.start();
        scheduler.scheduleJob(job, trigger);

        try {
            Thread.sleep(8000);                 //1000 milliseconds is one second.
            scheduler.shutdown();
            System.out.println("System was shut down");
        } catch(InterruptedException ex) {
            Thread.currentThread().interrupt();
        }

    }
Cronjob只是对服务器的http请求和响应。
我会在8秒后休眠并关机,以防止永远执行,因为在作业运行时GUI没有响应。

Thread.sleep8000;阻止应用程序处理任何输入,直到8秒结束。

我不是quarz专家,但我认为Thread.sleep8000;阻止应用程序处理任何输入,直到8秒结束。您是正确的!!我用它来阻止它永远运行!对java相当陌生。虽然当我试图关闭它时,总是会遇到异常