Spring MVC 3.2 將支持 Servlet 3 異步請求

jopen 12年前發布 | 32K 次閱讀 Spring MVC

來自 Spring 官方博客的消息:

Spring MVC 3.2 M1 將引入對異步請求處理的支持,基于 Servlet 3.0 規范。盡管該版本還沒發布,你可以在這里看到包含的改進。

簡單預覽一下:

一個控制器方法可通過返回 Callable 來完成異步處理:

@RequestMapping(method=RequestMethod.POST)
public Callable<String> processUpload(final MultipartFile file) {
 
  return new Callable<String>() {
    public Object call() throws Exception {
      // ...
      return "someView";
    }
  };
}

或者控制器方法返回 DeferredResult (new in Spring 3.2 M1) 來完成處理

@RequestMapping("/quotes")
@ResponseBody
public DeferredResult quotes() {
  DeferredResult deferredResult = new DeferredResult();
  // Add deferredResult to a Queue or a Map...
  return deferredResult;
}
 
// In some other thread..
// Set the return value on the deferredResult
 
deferredResult.set(data);

 

更多關于 Spring MVC 3.2 新特性以及詳細說明請看這里

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!