【问题标题】:Quartz Scheduler Start and Stop from buttonQuartz Scheduler 从按钮开始和停止
【发布时间】:2015-07-13 20:25:18
【问题描述】:

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

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

下面是启动 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.sleep(8000); 会阻止您的应用程序在 8 秒结束之前处理任何输入。
  • 你是对的!!我用它来防止它永远运行!对java来说相当新。虽然当我尝试关闭它时我不断收到异常

标签: java swing quartz-scheduler


【解决方案1】:

Thread.sleep(8000); 阻止您的应用程序在 8 秒结束之前处理任何输入。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-21
    • 1970-01-01
    • 2015-05-07
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多