Spring MVC, wie man den Fortschritt der Ausführung einer asynchronen Aufgabe erhält

Ich möchte eine asynchrone Aufgabe aus dem Controller heraus starten, wie im folgenden Code-Sniplet aus Spring-Dokumenten.

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()); 

  } 
} 

danach muss ich in einer anderen Anfrage (falls diese Aufgabe ausgeführt wird) den Fortschritt der Aufgabe überprüfen. Grundsätzlich erhalten Sie den Wert von cn.

Was wäre der beste Ansatz in Spring MVC, um Synchronisationsprobleme zu vermeiden?

Vielen Dank

Pepa Procházka

Antworten auf die Frage(3)

Ihre Antwort auf die Frage