【问题标题】:@ModelAttribute is synchronized?@ModelAttribute 已同步?
【发布时间】:2013-01-11 15:56:59
【问题描述】:

我对 Spring 3 有疑问。 任何人都可以告诉我,控制器中的方法如下:

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

同步了吗?

【问题讨论】:

    标签: java spring spring-3


    【解决方案1】:

    当然这个方法是不同步的。但我似乎理解你是如何得出这个结论的。我使用了以下代码:

    @Controller
    @RequestMapping("/url")
    public class ModelAtrCotroller {
    
        @ModelAttribute
        public String modelAtr() {
            return "foo";
        }
    
        @ResponseBody
        @RequestMapping(method = RequestMethod.GET)
        public String index() {
            return "index";
        }
    }
    

    我在modelAtr 方法中放置了一个断点,并从同一浏览器的两个不同选项卡向该url 发送了两个请求。而且似乎该方法是同步的,因为直到我在第一次服务期间释放断点才开始服务第二个请求。我假设浏览器使用了单个“保持活动”连接,并且在没有收到对第一个请求的响应之前,第二个请求根本没有从浏览器开始。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-26
      • 1970-01-01
      • 2015-02-28
      • 2017-01-26
      • 2017-10-20
      • 1970-01-01
      • 2013-02-12
      • 1970-01-01
      相关资源
      最近更新 更多