Mam pole tekstowe, w którym użytkownicy mogą wprowadzić wyrażenie cron (np. 0 */5 * * * *
). Następnie podzielę go i zbuduję javax.ejb.ScheduleExpression
.Validate a javax.ejb.ScheduleExpression
Teraz javax.ejb.ScheduleExpression
przyjmuje każdy Ciąg dla różnych elementów bez sprawdzania poprawności. Mogę na przykład:
scheduleExpression.minute("randomText");
i jest akceptowane. Jeśli następnie spróbujesz użyć funkcji ScheduleExpression, oczywiście dostaję błędy (np. Kiedy próbuję utworzyć z nim timer).
zacząłem pisać kod do sprawdzania poprawności danych wejściowych, ale przepisy nie są tak krótkie i banalny: http://docs.oracle.com/javaee/6/api/javax/ejb/ScheduleExpression.html
Czy istnieje prosty sposób (Java EE) lub biblioteka, która ma już spełnia swoje zadanie?
Faktycznie nie: składnia zaakceptowana przez 'ScheduleExpression' nie jest taka sama jak" CronExpression ". Na przykład podczas gdy '0 0 5? * L' jest ważne dla 'CronExpression' jest ** nie ** poprawne dla' ScheduleExpression'. – Matteo
Uzgodnione @Matteo, to niezły pomysł, ale to nie w porządku. – rjdkolb