Spring MVC, как получить ход выполнения асинхронной задачи

Я хотел бы запустить асинхронную задачу из контроллера, как в следующем фрагменте кода из документации Spring.

import org.springframework.core.task.TaskExecutor; 

public class TaskExecutorExample { 

  private class MessagePrinterTask implements Runnable { 

    private int cn; 

    public MessagePrinterTask() { 

    } 

    public void run() { 
//dummy code 
for (int i = 0; i < 10; i++) { 
cn = i; 
} 
} 

} 

private TaskExecutor taskExecutor; 

public TaskExecutorExample(TaskExecutor taskExecutor) { 
    this.taskExecutor = taskExecutor; 
  } 

  public void printMessages() { 

      taskExecutor.execute(new MessagePrinterTask()); 

  } 
} 

затем в другом запросе (в случае, если задача запущена) мне нужно проверить ход выполнения задачи. В основном получить значение cn.

Что было бы лучшим подходом в Spring MVC, чтобы избежать проблем с синхронизацией.

Спасибо

Пепа Прохазка

7
задан Josef Procházka 5 June 2012 в 14:54
поделиться