【发布时间】:2015-11-11 09:08:28
【问题描述】:
说我的spring控制器函数接收到大量数据。 鉴于数据结构正确,我想返回 200 OK,并且在那之后我想执行处理,这可能需要一段时间。
据我了解,发送响应的唯一方法是通过 return 命令。但我不想在响应发送时结束该功能。
还有其他方法可以在函数中间向客户端发送响应吗?
创建一个新的线程运行是显而易见的,但其他语言 (JS) 可以让您更优雅地处理它。
@RequestMapping(value = Connectors.CONNECTOR_HEARTBEAT, method = RequestMethod.POST)
public ResponseEntity<String> doSomething(@RequestBody List<Message> messages) {
HttpStatus code = (messages!=null && !messages.isEmpty()) ? HttpStatus.OK
: HttpStatus.NOT_FOUND;
return new ResponseEntity<String>(res, code);
// how do I add code here??
}
【问题讨论】:
-
使用@Async 方法可以包装你想运行的所有东西,它将被不同的线程处理
标签: java spring spring-mvc model-view-controller