Devo annullare l'esecuzione del timer di primavera o almeno modificare la frequenza di esecuzione in base ad alcune condizioni. Stava usando sia org.springframework.scheduling.quartz.SimpleTriggerBean
e org.springframework.scheduling.timer.ScheduledTimerTask
. Non riesci a trovare il modo in cui farlo.Come annullare l'esecuzione del timer di primavera
risposta
Questa non è la soluzione migliore, ma se non riesci a trovare altro, puoi sempre usare un booleano che verrebbe controllato ogni volta che l'evento viene attivato e se il booleano è falso il metodo di esecuzione del il timertask dovrebbe terminare immediatamente.
NOTA: Questo è per la primavera 3.0+
utilizzare un servizio
TaskScheduler
, come ad esempio unTimerManagerTaskScheduler
oThreadPoolTaskScheduler
.programmare il vostro compito richiamando alcune
TaskScheduler.schedule*()
metodo e memorizzare il rientranteScheduledFuture
.Quando si desidera annullare l'esecuzione, richiamare
ScheduledFuture.cancel()
. Ciò fermerà ulteriori invocazioni del tuo compito. A questo punto, puoi riprogrammare se lo desideri chiamando loTaskScheduler.schedule*()
per l'attività con parametri diversi.
I miei bean sono forniti nel file xml primaverile. Come ottengo un'istanza di TaskScheduler da lì? Stai dicendo che devo eseguire il provisioning di tutto nel mio codice Java? – BigWonder
Basta istanziare TaskScheduler usando un elemento '
Implementazione della soluzione proposta: https://stackoverflow.com/questions/39152599/ –
La soluzione è assegnare un ID al org.springframework.scheduling.timer.TimerFactoryBean e quindi recuperare questo bean dall'applicazione, associarlo al timer e chiamare cancellare metodo su quell'oggetto.
'
- 1. come annullare l'aggiornamento del pacchetto
- 2. Come trovare l'origine del thread del timer?
- 3. _.delay() - uccisione del timer
- 4. Come annullare/annullare attività TPL?
- 5. Observable.Timer(): come evitare la deriva del timer?
- 6. Come visualizzare il toast all'interno del timer?
- 7. Come annullare la funzionalità del flusso git?
- 8. Precisione del timer in java
- 9. Problema nella creazione del lavoro del timer
- 10. Android: quando annullare la registrazione del listener - onStop() o onDestroy()
- 11. Confronto del timer con DispatcherTimer
- 12. come annullare la pianificazione di NSTimer nell'obiettivo-c
- 13. . Thread max simultanei timer timer
- 14. Come annullare bzr add
- 15. Come annullare l'aggiornamento RequestFactory
- 16. Come annullare l'aggiornamento di npm?
- 17. Come utilizzare CommonsMultipartResolver nella primavera del Boot
- 18. Come annullare/annullare una richiesta utilizzando la libreria js del prototipo?
- 19. Come posso annullare Task.WhenAll?
- 20. Come annullare Alamofire.upload
- 21. Come annullare in Prolog
- 22. Come annullare hg init?
- 23. Informazioni sui problemi del thread timer JavaScript
- 24. come annullare commit
- 25. Come annullare "hg qnew"?
- 26. Come annullare `hg pull`?
- 27. Come annullare l'ultima impegnarsi
- 28. Come annullare la continuazione di un'attività?
- 29. Utilizzo del timer una sola volta
- 30. come annullare aggiornamento git modulo
Questo è quello che ho effettivamente fatto. Questo approccio non è sicuramente preferibile in quanto non desidero eseguire nuovamente l'attività se si verifica una condizione. – BigWonder