小编典典

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

java

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

@Autowired private TaskScheduler taskScheduler;

阅读 222

收藏
2020-10-25

共1个答案

小编典典

您只需要将目标对象包装在中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);
}
2020-10-25