0

これはばかげた質問ですが、オンラインで答えを見つけることができないようです。

午前 9 時にジョブを午後 12 時にスケジュールする場合、thread.sleep3 時間に設定する必要がありますか?

つまり、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 に答える