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