【发布时间】:2013-01-21 20:48:20
【问题描述】:
我正在使用新的 spring 3.2 异步 servlet 请求。 除了在这种情况下,一切都很好......
@RequestMapping("/test")
@ResponseBody
public DeferredResult<byte[]> test(InputStream is, HttpServletResponse response, WebRequest request) {
if (someTest()) {
deferredResult.setResult(DATA);
return deferredResult;
}
deferredResult.onTimeout(new Runnable() {
@Override
public void run() {
deferredResult.setResult(DATA);
}
});
// Use deferredResult in another thread when needed
return deferredResult;
}
当someTest() 为真时,spring/tomcat 返回 404。我不确定我应该如何处理或为什么会发生这种情况?我认为这可能是因为已经创建了 Servlet 异步上下文。这是一个错误还是我做错了什么?
任何信息将不胜感激!
【问题讨论】:
-
请查看在 Spring 上创建的 bug(已解决为无效)!他们面临着与您完全相同的问题!唯一的方法是在 Controller 服务方法之外设置 deferredResult。
标签: java spring spring-mvc