gpt4 book ai didi

java - 如何在Spring Web Service中实现计划任务?

转载 作者:行者123 更新时间:2023-12-03 13:09:06 26 4
gpt4 key购买 nike

我正在使用Spring和Hibernate开发Java REST Web服务。我需要实现一项功能以安排将来的任务。例如,当用户在我的应用程序中注册后,我必须在前六个月内将100个虚拟积分记入他的帐户。像这样,还有一些其他相似的功能。

我在想TimerTask可以用于此功能。问题是,如果我为每个注册用户创建Timer,如果特定用户变得不 Activity ,并且好像在内存中转储线程,则我无法停止该特定用户的Timer。如果有1000位用户注册,将有1000个TimerTask线程。

如何使用Spring或Java实现这种功能?我应该对Thread拥有完全控制权,如果需要的话,我可以停止线程。

最佳答案

您可以使用单线程通过@scheduled批注和最少的XML配置执行任务,我将保留reference的链接。

您只需要在服务中创建一个方法,然后将@Scheduled注释放在

@Scheduled(cron = "0 15 10 15 * ?")
public void scheduleTaskUsingCronExpression(){
long now = System.currentTimeMillis() / 1000;
System.out.println("schedule tasks using cron jobs - " + now);
}

关于java - 如何在Spring Web Service中实现计划任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43422256/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com