我有一个Spring3的问题。任何人都可以告诉我,在控制器中像这样的方法:
@ModelAttribute("nameAtributte")
public Customer getCustomerInfo(HttpServletRequest request) {
return service.getCustomer(request);
}是否同步?
发布于 2013-01-12 00:14:09
当然,此方法是不同步的。但我似乎理解你是如何得出这个结论的。我使用了以下代码:
@Controller
@RequestMapping("/url")
public class ModelAtrCotroller {
@ModelAttribute
public String modelAtr() {
return "foo";
}
@ResponseBody
@RequestMapping(method = RequestMethod.GET)
public String index() {
return "index";
}
}我在modelAtr方法中放置了一个断点,并从同一浏览器的两个不同选项卡向url发送了两个请求。而且该方法似乎是同步的,因为服务第二个请求直到我在第一个服务期间释放了断点才开始。我假设浏览器使用单个"keep-alive“连接,并且直到没有收到对第一个请求的响应时,第二个请求才从浏览器启动。
我为两个并发请求使用了两个不同的浏览器,并让两个应用服务器线程都在modelAtr方法中间的相同断点处暂停。
https://stackoverflow.com/questions/14281845
复制相似问题