验证cron表达式在Java中是否有效


问题内容

我正在使用Quartz用Java编写调度应用程序。我正在使用CronTrigger,但是我的cron表达式在进行调度之前是先输入数据库的,并且是基于用户输入的。

捕获它们时,有什么方法可以验证cron表达式是否有效?我宁愿这样做并向用户提供适当的错误消息,而不是等到调度程序运行并且尝试创建触发器时得到ParseException。用户输入数据后可能要过几天。


问题答案:

您不能简单地创建一个触发器而不实际执行它吗?如果发生ParseException,您可以简单地给出适当的反馈。如果表达式可以,请将表达式持久保存到数据库。

编辑:或干脆这样做:

org.quartz.CronExpression.isValidExpression(expression);