2017-03-02 5 views
0

以下は私のコードです。私は10分ごとにクローン式で仕事をしたいと思います。 は、私は私の仕事は、それが10分で実行する必要があることをした直後に実行初めてinterval.Iは石英-2.1.2私はどのようにしてcroneを実行できますか?

JobKey jobKeyA = new JobKey("abc", "abc"); 

JobDetail jobA = JobBuilder.newJob(ContiniousJob.class) 
     .withIdentity(jobKeyA).build(); 

Trigger trigger3 = TriggerBuilder 
     .newTrigger() 
     .withIdentity("abc", "abc") 
     .startNow() 
     .withSchedule(CronScheduleBuilder.cronSchedule("0 0/10 * * * ?")) 
     .build(); 

感謝を使用していたいです。

答えて

0

残念ながら、cron rightawayを発射するチャンスはありません。
ちょっとした遅延時間(現在の時間+ 1分)で起動する必要がある直後にタスクをスケジュールするよう提案しています。
hereをテストしてみてください。

1

あなたはわずか10分の間隔をしたい場合は、CronTriggerを必要としない、あなただけのSimpleTriggerを使用することができます。

Trigger trigger3 = TriggerBuilder 
     .newTrigger() 
     .withIdentity("abc", "abc") 
     .startNow() 
     .withSchedule(simpleSchedule() 
      .withIntervalInMinutes(10) 
      .repeatForever()) 
     .build(); 

あなたはまだ何らかの理由CronTriggerを使用する必要が、これは動作する必要がある場合:

// Trigger to run immediately 
Trigger trigger = TriggerBuilder.newTrigger() 
      .withIdentity("abc", "abc") 
      .startNow() 
      .build(); 
Set<Trigger> triggers = new HashSet<>(); 
triggers.add(trigger); 

// Your CronTrigger 
Date delayedStart = DateUtils.addMinutes(new Date(), 10); 
Trigger cronTrigger = TriggerBuilder 
     .newTrigger() 
     .withIdentity("abc", "abc") 
     .startAt(delayedStart) 
     .withSchedule(CronScheduleBuilder.cronSchedule("0 0/10 * * * ?")) 
     .build(); 

triggers.add(cronTrigger); 

// Schedule job with multiple triggers 
scheduler.scheduleJob(job, triggers, false); 

すぐに実行する1つのトリガー、もう1つはCronTriggerです。

関連する問題