Spring MVC 3时间计划任务从特定时间开始

时间:2011-12-21 03:51:12

标签: spring spring-mvc

我想在Spring MVC中安排一个方法调用,每两个小时运行一次。我可以通过Spring 3.0 Time Scheduler轻松完成。但是,我想在一天的特定时间关闭执行。也就是说,该方法应该只在特定时间开始每2小时调用一次。

例如 - 我希望该方法从早上6点开始每2小时运行一次。 TimeScheduler接口有一个scheduleAtFixedRate方法,该方法被重载以使用startTime Date参数。我不确定如何使用它。

知道如何实现这一目标吗?

2 个答案:

答案 0 :(得分:2)

您可以查看TaskScheduler界面。它提供了一个方法scheduleAtFixedRate(Runnable task, Date startTime, long period),它返回ScheduledFuture。您可以使用一些简单的Spring配置:

<task:scheduler id="scheduler" pool-size="10"/>

这将创建一个实现ThreadPoolTaskScheduler的{​​{1}}实例。把这个坏孩子送到班上来调用你的具体方法:

TaskScheduler

答案 1 :(得分:0)

我会看看Spring对Task Execution and Scheduling的支持。具体检查@Scheduled注释(您可以使用它来指定基于cron表达式的计划):

@Scheduled(cron="*/5 * * * * MON-FRI")
public void doSomething() {
    // something that should execute on weekdays only
}