Spring docsの次のコードスニプレットのように、コントローラー内から非同期タスクを開始したいと思います。
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の値を取得します。
同期の問題を回避する方法として、SpringMVCで最善のアプローチは何でしょうか。
ありがとう
PepaProcházka