0

这是一个愚蠢的问题,但我似乎无法在网上找到答案。

如果是上午 9:00 并且我在下午 12:00 安排工作,是否需要将我的时间设置thread.sleep为 3 小时?

换句话说,如果我将我的时间设置thread.sleep为仅 5 分钟并遵循它,sched.shutdown(true)我的工作还会在中午运行吗?或者调度程序是否已经关闭?我不明白thread.sleep......有人可以澄清一下吗?

编辑添加代码:

try {

          SchedulerFactory sf = new StdSchedulerFactory();
          Scheduler sched = sf.getScheduler();

          JobDetail job = newJob(HelloWorld.class)
                            .withIdentity("job0","group1")
                            .build();

          CronTrigger trigger = newTrigger()
              .withIdentity("trigger1", "group1")
              .withSchedule(cronSchedule("0 0 12 ? 1-12 2-6")) 
              .build();
          sched.scheduleJob(job,trigger);

          sched.start();

          Thread.sleep(300000L); //300000 milliseconds is 5 minutes
          sched.shutdown(true);

    } catch (SchedulerException ex) {
        Logger.getLogger(IBTradeGui.class.getName()).log(Level.SEVERE, null, ex);
    }
4

1 回答 1

1

睡眠只是在示例代码中演示石英。这不是在生产代码中要做的事情。

最好在应用程序初始化时启动调度程序,并在应用程序关闭时停止它。然后在程序的其他部分处理调度作业。

于 2013-06-01T15:19:30.153 回答