ユーザーがcron式を入力できるテキストフィールドがあります(例:0 */5 * * * *
)。私はそれを分割し、javax.ejb.ScheduleExpression
を構築します。javax.ejb.ScheduleExpressionを検証する
今すぐjavax.ejb.ScheduleExpression
は、検証なしでさまざまな要素の任意の文字列を受け入れます。例えば、
scheduleExpression.minute("randomText");
が受け入れられます。 ScheduleExpressionを使用しようとすると、明らかにエラーが発生します(たとえば、タイマーを作成しようとすると)。
私は入力を検証するコードを記述するために始めていたが、ルールはとても短く、些細ではありません。http://docs.oracle.com/javaee/6/api/javax/ejb/ScheduleExpression.html
は、簡単な方法(JavaのEEの場合)、またはすでに仕事をしないライブラリはありますか?
実際には 'ScheduleExpression'で受け入れられる構文は' CronExpression'と同じではありません。たとえば、 '0 0 5? * L'は 'CronExpression'に有効です**は' ScheduleExpression'には有効ではありません**。 – Matteo
合意@マッテオ、いいアイデアですが、それは正しくありません。 – rjdkolb