2016-07-01 17 views
0

Ich bin sehr neu in Cron Ausdruck. Ich habe nur ein grundlegendes Verständnis davon, wie es funktioniert. Ich implementiere eine Anwendung, die es dem Benutzer ermöglicht, einen Cron-Ausdruck mit dem Muster * * * * * * zu senden. Aber die Anwendung erlaubt cron nicht weniger als alle 30 Minuten zu laufen.Unix Cron Validierung: Nicht weniger als alle 30 Minuten

Dies ist die Validierungsmethode, die ich geschrieben habe.

private boolean checkInvalidCronExpresstion(final String value) 
{ 
    final String[] expression = StringUtils.split(value, " "); 

    // not allow case "* * * * * *" 
    if (expression[0].equals("*")) 
    { 
     return true; 
    } 
    else if (expression[0].contains("/")) 
    { 
     final String[] minutes = StringUtils.split(expression[0], "/"); 
     diff = Integer.parseInt(minutes[1]); 

     // not allow case "*/x * * * * *" with x < 30 
     if (diff < 30 && expression[1].contains("*")) 
     { 
      return true; 
     } 
    } 
    return false; 
} 

Meine Fragen sind: (1) das Verfahren, über Abdeckung alle ungültigen Ausdruck, cron löst weniger als alle 30 Minuten und (2) Ich glaube, es eleganter Weg sein könnte, um den Ausdruck zu überprüfen Beispiel übersetzt es in Stunden und Minuten. Ich habe mir Spring Cron SequenceGenerator angesehen, aber ich sehe nicht, dass es in diesem Fall helfen könnte. Jede Nutzungsklasse oder Lösung wird empfohlen?

Antwort

Verwandte Themen