我正在使用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