Spring MVC cómo avanzar en la ejecución de tareas asíncronas

Me gustaría iniciar una tarea asíncrona desde el controlador, como en el siguiente fragmento de código de los documentos de 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()); 

  } 
} 

luego, en la solicitud de anulación (en caso de que la tarea se esté ejecutando), necesito verificar el progreso de la tarea. Basicamente obtenemos el valor de cn.

¿Cuál sería el mejor enfoque en Spring MVC? ¿Cómo evitar problemas de sincronización?

Gracias

Pepa Procházka

Respuestas a la pregunta(3)

Su respuesta a la pregunta