Spring MVC como obter o progresso de executar a tarefa assíncrona
Gostaria de iniciar uma tarefa assíncrona a partir do controlador, como no seguinte sniplet de código de documentos do 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());
}
}
depois no pedido annother (no caso em que a tarefa está em execução) eu preciso verificar o progresso da tarefa. Basicamente, obtenha o valor de cn.
Qual seria a melhor abordagem no Spring MVC? Como evitar problemas de sincronização?
obrigado
Pepa Procházka