4

友人、私はクォーツスケジューラを使用して、アプリケーションがデプロイされて継続的に実行されているときに5分ごとにタスクを実行しているので、次のようにコードを記述しました:

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

JobDetail job = newJob(RomeJob.class).withIdentity("Id1", "Rome").build();
CronTrigger trigger = newTrigger().withIdentity("Id1Trigger", "Rome").withSchedule(cronSchedule("0 0/5 * * * ?"))
.build();
sche.scheduleJob(job, trigger);
sche.start();

しかし、時々うまくいかないことがあります。ここで何か不足しているかどうか教えてください。

4

3 に答える 3

12

それ以外の

0 0/5 * * * ?

使用する

0 */5 * * * *

編集:これにより、5 で割り切れる毎分の 0 秒でタスクが実行されます。

編集 2: 0/5 0 分と 5 分のみを意味します。

于 2012-02-01T12:47:32.463 に答える
5

Cron スケジュールを使用しないで、代わりに単純なスケジュールを使用します。

Trigger trigger = newTrigger().
  withIdentity("Id1Trigger", "Rome").
  withSchedule(
    simpleSchedule().
      withIntervalInMinutes(5).
      repeatForever()
  ).build();
于 2012-02-01T12:53:01.333 に答える
0

そのうちの1つがトリガービルダーを次のように使用する方法はたくさんあります

trigger = newTrigger()
    .withIdentity("mytrigger", "group1")
    .startNow()
    .withSchedule(simpleSchedule()
            .withIntervalInMinutes(5)
            .repeatForever())
    .build();
于 2012-02-01T12:53:49.077 に答える