以编程方式创建Spring Framework任务?

时间:2010-12-21 12:22:02

标签: java spring scheduling

我需要在我的应用中动态创建任务。我怎样才能做到这一点?我可以使用@autowired注释获取调度程序,但调度程序需要Runnable个对象。我需要提供Spring对象,以便我的任务也可以使用@autowired注释。

@Autowired private TaskScheduler taskScheduler;

1 个答案:

答案 0 :(得分:16)

您只需将目标对象包装在Runnable中,然后提交:

private Target target;  // this is a Spring bean of some kind
@Autowired private TaskScheduler taskScheduler;

public void scheduleSomething() {
    Runnable task = new Runnable() {
       public void run() {
          target.doTheWork();
       }
    };
    taskScheduler.scheduleWithFixedDelay(task, delay);
}