Я очень новичок в выражении 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 минут, и (2) Я считаю, что может быть более элегантный способ проверить выражение пример перевести его в часы и минуты. Я просмотрел Spring CronSequenceGenerator, но я не вижу, чтобы это могло помочь в этом случае. Рекомендуется использовать какой-либо полезный класс или решение?