Ho un campo di testo in cui gli utenti possono immettere un'espressione cron (ad es., 0 */5 * * * *
). Quindi lo divido e costruisco un javax.ejb.ScheduleExpression
.Convalida javax.ejb.ScheduleExpression
Ora javax.ejb.ScheduleExpression
accetta qualsiasi stringa per i diversi elementi senza convalida. Posso ad esempio
scheduleExpression.minute("randomText");
ed è accettato. Se poi provi ad usare ScheduleExpression, ovviamente ottengo errori (ad es. Quando provo a creare un timer con esso).
stavo cominciando a scrivere il codice per validare l'input, ma le regole non sono così breve e banale: http://docs.oracle.com/javaee/6/api/javax/ejb/ScheduleExpression.html
C'è un modo semplice (in Java EE) o una libreria che fa già fa il lavoro?
In realtà no: la sintassi accettata da 'ScheduleExpression' non è la stessa di' CronExpression'. Ad esempio mentre '0 0 5? * L' è valido per 'CronExpression' è ** non ** valido per' ScheduleExpression'. – Matteo
Concordato @Matteo, è una buona idea, ma non è giusto. – rjdkolb