SpringJava-运行进程每天执行一次任务
我有一个小问题(我使用的是spring版本3.1.1)。我想启动一个进程或线程,在一天内执行一项任务 例如: 我有一个用户列表,每个用户都有一个总天数字段 类用户{ 一串 一串 DateTime countDays=…12-12-12。。。 } 所以我想做的是,当我启动应用程序(运行)时,我想每天执行一项任务: 循环浏览用户列表 查看计数天数 例如,如果countDays大于14 将某些内容发送给用户 我知道如何循环发送一些东西。我不知道如何启动一个对象,让它在一天内执行一项任务。创建一个bean,构造它并使用sleep函数SpringJava-运行进程每天执行一次任务,java,spring,spring-mvc,scheduled-tasks,Java,Spring,Spring Mvc,Scheduled Tasks,我有一个小问题(我使用的是spring版本3.1.1)。我想启动一个进程或线程,在一天内执行一项任务 例如: 我有一个用户列表,每个用户都有一个总天数字段 类用户{ 一串 一串 DateTime countDays=…12-12-12。。。 } 所以我想做的是,当我启动应用程序(运行)时,我想每天执行一项任务: 循环浏览用户列表 查看计数天数 例如,如果countDays大于14 将某些内容发送给用户 我知道如何循环发送一些东西。我不知道如何启动一个对象,让它在一天内执行一项任务。创建一个bea
希望有人能帮我,谢谢你Spring非常支持Quartz调度程序 您可以使用CRON触发器bean将任务设置为每天运行一次(例如,在午夜)
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="usersJob" />
<property name="cronExpression" value="0 0 * * *" />
</bean>
您还可以使用@Scheduled注释,类似于:
@Scheduled(cron="0 0 * * *")
public void doStuff() {
..
}
检查此处的声明:。使用Spring和接口。TaskScheduler负责调度任务(可运行对象)以执行,触发器负责确定执行时间
对于您的情况,TaskScheduler的实现应该足够了。它将java.util.concurrent.ThreadPoolExecutor改编为TaskScheduler
对于触发器的实现,最适合您的需要。它可以用来创建一个触发策略,以便每天在同一时间执行任务
示例Java代码:
Runnable task = /* your task */
TaskScheduler scheduler = new ThreadPoolTaskScheduler();
scheduler.schedule(task, new CronTrigger("0 0 * * *"));
哇!太快了。我想我找到了我要找的东西:TimerTask。男人。。谢谢你!!Spring还具有对cron触发器的本机支持,所以如果不需要石英,就不需要石英。Zutty提供的链接包含所有详细信息。