我正在使用Spring和Hibernate開發Java REST Web服務。我需要實現一項功能來安排未來的任務。例如,當用戶在我的應用程序中註冊時,我必須在他的賬戶中爲他的前六個月記入100個虛擬積分。像這樣,還有一些更類似的功能。如何在Spring Web Service中實現計劃任務?
我想像TimerTask
可以用於此功能。問題是,如果我爲每個註冊的用戶創建了Timer
,我無法停止特定用戶的Timer
,如果他變爲不活動狀態並且看起來像在內存中轉儲線程。如果有1000個用戶註冊,將會有1000 TimerTask
線程。
如何使用Spring或Java實現這種功能?我應該完全控制線程,我可以停止線程如果我想。
,你一定程序運行這麼久,而無需重新啓動或發生故障強制重啓?我認爲你需要一個解決方案來存儲這些數據,並定期檢查定時條件。 –
是的。我正在使用Tomcat服務器。它會在某個時候崩潰,然後停下來,然後我需要重新啓動服務器才能恢復。 – Mdumanoj
請參閱https://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html – rvit34