Credo di aver capito. Allora se non hai vincoli particolari direi che la cosa più affidabile è affidare all'esterno dell'applicativo la parte di temporizzazione, mi spiego meglio:Originariamente inviato da Dariux88
No.. scusami se non mi sono fatto capire.. allora io ho dei file sui quali registro delle prenotazioni(ognuna composta da un orario e dalla persona che si è prenotata).. per le verifiche scarico i dati su una SortedSet<Prenotazione> in modo da avere i dati ordinati per orario..
Ora quello che mi si chiede è fare in modo che il sistema automaticamente invii un email al gestore del sito 24 ore prima rispetto all'orario di una prenotazione(indicandogli il nome di chi si è prenotato)..
spero di essere stato comprensibile questa volta.. grazie..![]()
-Scrivi una servlet che ogni volta che viene invocata si spazzola tutti i tuoi dati alla ricerca di prenotazioni con data e ora maggiori o uguali ad ADESSO (momento dell'invocazione) meno un giorno, e tutte quelle che vengono pescate producono una notifica.
-metti su un cron job che richiama, con periodicità da decidere la tua servlet. la periodicità dipende dalle tue esigenze, se hai necessità puoi farlo schedulare per chiamare la servlet anche ogni secondo (o forse anche frazioni di secondo ora non ricordo). Se non ti richiedono un grana così fine puoi lavorare con intervalli più "leggeri". Chiaramente maggiore è la frequenza più sottoponi a stressi il tuo sistema.
Tieni anche presente che in ogni caso la precisione assoluta non è ottenibile perchè ci sono i tempi di latenza per il calcolo (che aumentano al crescere della mole dei dati) e i tempi di latenza intrinseci dei server smtp per l'invio effettivo della mail
La soluzione con un cron job esterno te la consiglio rispetto a un thread interno all'applicativo, in quanto se casca il tomcat per qualche motivo ti ritrovi con il thread che cade con lui (cosa che può essere un problema o no , se poi lo tiri su di nuovo, dipende dalle tue esigenze).
![]()