Parlando di attività pianificate, dovremmo pensare a @Scheduled, Quartz e XXL-JOB. Tuttavia, alcuni singoli servizi o piccoli progetti possono utilizzare direttamente @Scheduled per implementare attività asincrone per comodità e velocità. Pertanto, i requisiti del tema di questo articolo vengono estesi.
Quando @Scheduled viene utilizzato in un progetto, come è possibile eseguire l'attività asincrona specificata in anticipo all'avvio del progetto?
1. Spiegazione dettagliata di @Scheduled
L'annotazione @Scheduled supporta più parametri per controllare in modo flessibile il tempo di esecuzione dell'attività.
cron: espressione Cron, che può controllare accuratamente secondi, minuti, ore, giorni, mesi, settimane, ecc.
zona: ricevi un fuso orario, ad esempio Asia/Shanghai, il fuso orario che utilizziamo generalmente. Di solito lasciamo vuoto questo campo.
FixedDelay: quanto tempo dopo l'ora di completamento dell'ultima esecuzione verrà eseguita nuovamente. Come @Scheduled(fixedDelay = 5000)
FixedDelayString: ha lo stesso significato di FixedDelay, ma sotto forma di stringa. L'unica differenza è che supporta i segnaposto, come @Scheduled(fixedDelayString = "5000")
FixedRate: quanto tempo dopo l'ultimo avvio del tempo di esecuzione, ad esempio @Scheduled(fixedRate = 5000)
FixedRateString: ha lo stesso significato di FixedRate, ma sotto forma di stringa. L'unica differenza è che i segnaposto sono supportati.
partialDelay: quanto tempo ritardare l'esecuzione per la prima volta. Ad esempio, verrà eseguita dopo il primo ritardo di 1 secondo, quindi verrà eseguita ogni 5 secondi secondo la regola FixedRate @Scheduled(initialDelay=1000, FixedRate= 5000)
partialDelayString: ha lo stesso significato di partialDelayString, ma sotto forma di stringa. L'unica differenza è che i segnaposto sono supportati.
2. Implementazione logica
1. Creare un metodo logico per l'attività pianificata
Nota: ricordarsi di aggiungere @EnableScheduling alla classe di avvio in modo che l'attività pianificata venga eseguita. Ovviamente ciò non influisce sul test logico di questo articolo.
3. Risultati dei test
Dopo l'avvio del servizio, visualizzare le informazioni di stampa