2016-07-01 20 views
0

私はcronの表現がとても新しいです。私はそれがどのように動作するかについての基本的な理解しか持っていません。私は、ユーザーがパターン* * * * *でcronの式の値を送ることができるアプリケーションを実装しています。しかし、このアプリケーションでは、cronが30分ごとに実行されることはありません。Unix Cronバリデーション:30分以上で

これは私が書いた検証方法です。私の質問があり

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; 
} 

(1)カバー上記の方法ごとに30分以上のcron少ないトリガするすべての無効な表現行い、及び (2)私はのための式をチェックするために、よりエレガントな方法があるかもしれないと考えています例を数時間と数分に翻訳します。私はSpring CronSequenceGeneratorを調べましたが、このケースでは役立つことはありません。任意のユーティリティクラスまたはソリューションが推奨されますか?

答えて

関連する問題