我想从控制器内部启动一个异步任务,就像 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的值。
Spring MVC 中最好的方法是如何避免同步问题。
谢谢
佩帕·普罗查兹卡