@ModelAttribute是同步的?

时间:2013-01-11 15:57:00

标签: java spring spring-3

我遇到了Spring 3的问题。 任何人都可以在控制器中告诉我这样的方法:

@ModelAttribute("nameAtributte")
public Customer getCustomerInfo(HttpServletRequest request) {
     return service.getCustomer(request);
}

已同步?

1 个答案:

答案 0 :(得分:1)

原因此方法未同步。但似乎我明白你是如何得出这个结论的。我使用了以下代码:

@Controller
@RequestMapping("/url")
public class ModelAtrCotroller {

    @ModelAttribute
    public String modelAtr() {
        return "foo";
    }

    @ResponseBody
    @RequestMapping(method = RequestMethod.GET)
    public String index() {
        return "index";
    }
}

我在modelAtr方法中放置了一个断点,并从同一浏览器的两个不同选项卡向该网址发送了两个请求。并且似乎该方法是同步的,因为在我第一次发布期间释放断点之前,没有开始提供第二个请求。我认为单身"保持活力"浏览器使用连接,直到没有收到对第一个请求的响应,第二个请求才从浏览器启动。

我为两个并发请求使用了两个不同的浏览器,并且有两个应用程序服务器线程在modelAtr方法中间的同一个断点处暂停。