2012-12-20 4 views
5

Ich brauche Job zu erstellen, wird:Quartz - Zeitplan Jobs alle zwei Wochen auf mehrere Wochentag und Zeit

  • beginnt ein 12/20/2012
  • endDate = 2017.12.31
  • wird alle 2 Wochen am Sonntag und Montag
  • Feuer um 5 Uhr auftreten.

ist dieser Cron-Ausdruck gültig?

Date start = 12/20/2012; 
Date endDate = 12/31/2017; 
SimpleTrigger trigger = newTrigger() 
    .withIdentity("trigger3", "group1") 
    .startAt(startDate) 
    .withSchedule(cronSchedule("* * 17 0 0/2 *,SUN,MON").build()) 
    .endAt(endDate) 
    .build; 

Bitte beraten.

+1

denke ich * * 17 0 0/2 *, SUN, MON – Mukus

+0

Zur Einrichtung Ein Cron-Job, der jeden Sonntag und Montag um 17 Uhr stattfindet, wäre 0 17 * * 0,1, wobei 0 = Minuten, 17 = Stunden, * = Tag des Monats, * = Monat, 0,1 = Sonntag, Montag oder Wochentag mit Sonntag als 0 und Samstag als 7. kann ich nicht daran denken, wie man alle zwei Wochen damit einstellt. Ich denke nicht, dass der Wochentag und der Wochentag gleichzeitig genutzt werden können. Das mag nicht wahr sein. – Mukus

+0

Konntest du das herausfinden? Haben Sie ein anderes Tool verwendet, um es zu erreichen? – user2023507

Antwort

1

Ich schlage vor, dass Sie einen Komponententest basierend auf Ihrem Cron-Ausdruck machen. Mit einem dicken Lob an Van de Voorde Toni, können Sie es auf diesem Code-Basis, und es verwenden, um sicherzustellen, dass der „nextValidTimeAfter“ entspricht Ihre Erwartung:

import java.text.ParseException; 
import java.util.Date; 

import org.quartz.CronExpression; 

public class CronTester { 

    public static void main(String[] args) throws ParseException { 
     final String expression = "* * 17 0 0/2 *,SUN,MON"; 
     final CronExpression cronExpression = new CronExpression(expression); 

     final Date nextValidDate1 = cronExpression.getNextValidTimeAfter(new Date()); 
     final Date nextValidDate2 = cronExpression.getNextValidTimeAfter(nextValidDate1); 

     System.out.println(nextValidDate1); 
     System.out.println(nextValidDate2); 

    } 
} 
+0

Dieser Cron-Ausdruck ist ungültig. Probieren Sie es bei cronMaker.com aus –

Verwandte Themen