我需要在我的应用中动态创建任务。我怎样才能做到这一点?我可以使用@autowired
注释获取调度程序,但调度程序需要Runnable
个对象。我需要提供Spring对象,以便我的任务也可以使用@autowired
注释。
@Autowired private TaskScheduler taskScheduler;
答案 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);
}