Tôi muốn biết trường hợp sử dụng chung của việc sử dụng yêu cầu không đồng bộ @Async và Servlet 3 trong Mùa xuân bằng cách sử dụng Có thể gọi.Khi nào sử dụng bộ điều khiển Bộ điều khiển không dây (Bộ điều khiển không đồng bộ, servlet 3)
Như tôi đã biết, @Async là để thực hiện bất kỳ phương thức nào (cụ thể, bất kỳ phương thức dịch vụ nào) thực thi không đồng bộ.
@Async
void doSomething(String s) {
// this will be executed asynchronously
}
và bất kỳ điều khiển trả về Callable
@RequestMapping("/view")
public Callable<String> callableWithView(final Model model) {
return new Callable<String>() {
@Override
public String call() throws Exception {
Thread.sleep(2000);
model.addAttribute("foo", "bar");
model.addAttribute("fruit", "apple");
return "views/html";
}
};
}
Tôi đang bối rối về whento sử dụng những gì. Điều gì sẽ là ảnh hưởng của việc sử dụng servlet/controller không đồng bộ và với spring @Async cùng nhau?
liên kết đến bài đăng đầu tiên bị hỏng – Chris
Xin cảm ơn vì đã cho tôi biết. Tôi đã cập nhật liên kết. Hy vọng nó giúp. – shazinltc
@shazinltc nếu tôi cần thực thi tác vụ không đồng bộ và cần phải nhận 'taskId' ngay lập tức (một chuỗi' đại diện cho việc đăng ký nhiệm vụ, một thứ gì đó để giúp người dùng theo dõi tiến trình của công việc), làm cách nào tôi có thể đạt được điều này cho rằng 'taskId' phải được tạo ra trong phương thức được chú thích bằng' @ Async' chứ không phải bởi người invoker? –