Spring MVC 3.2 将支持 Servlet 3 异步请求

来自 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")@ResponseBodypublic 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 新特性以及详细说明请看这里