我写过spring rest Async控制器,返回String JSON响应, 当我请求浏览器完成响应时,控制器尚未完成处理,因此响应尚未就绪。
我使用Spring Boot,Apache作为内置服务器。 在EmbeddedServletContainerFactory中,我也设置了AsyncTimeout。
TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory();
factory.addConnectorCustomizers(new TomcatConnectorCustomizer() {
@Override
public void customize(Connector connector) {
connector.setAsyncTimeout(10000000);
}
});
那么当控制器异步完成响应时,如何使浏览器等待?
控制器是
@Async
@RequestMapping(value = "/id", method = RequestMethod.GET)
public String getDetails(@PathVariable("id") String id) {
// wrote logic for JSON response....
}