Это недавно было зарегистрировано как ошибка:
https://github.com/quartz-scheduler/quartz/issues/254
И вы правы, это, вероятно, неожиданно.
Однако, будучи очень осторожным, можно поспоритьчто JavaDoc из isValidCronExpression
состояний
Указывает, может ли указанное выражение cron быть проанализировано в допустимое выражение cron
И фактически выражениеВы предоставили , можете быть преобразованным в действительный CronExpression
, хотя выражение само по себе недопустимо.По сути, гарантия, которую вы получаете от звонка CronExpression.isValidCronExpression(expression)
, заключается в том, что вы можете безопасно звонить new CronExpression(expression)
, не опасаясь, что ParseException
будет брошено.Однако, поскольку java.text.ParseException
является проверенным исключением, это довольно бессмысленно.
Таким образом, текущая реализация CronExpression
кажется слишком мягкой.
Может быть, вы хотите датьдругие библиотеки попробуйте (только что искали в Google):
Но если вы хотите использовать выражение сКварц позже, ваш лучший вариант - остаться с проверкой кварца, так как шаблоны, действительные для других библиотек, могут быть недействительными для кварца и наоборот.Например, исходный код кварца гласит, что шаблоны с «днем недели» и «днем месяца» в настоящее время не поддерживаются, хотя в общем случае это поддерживается выражениями cron.