小编给大家分享一下SpringMVC如何使用ResponseBodyEmitter进行异步处理,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
使用 ResponseBodyEmitter 进行异步处理
DeferredResult 和 Callable 都只能返回一个异步值。如果需要返回多个对象,就要使用 ResponseBodyEmitter。返回的每个对象都会被 HttpMessageConverter 处理并写回输出流。如果希望设置更多返回数据,如 header、status 等,可以把 ResponseBodyEmitter 作为 ResponseEntity 的实体数据返回。
@RequestMapping("/async/responseBodyEmitter")public ResponseBodyEmitter responseBodyEmitter(){ ResponseBodyEmitter responseBodyEmitter=new ResponseBodyEmitter(); Executors.newSingleThreadExecutor().submit(() -> { try { responseBodyEmitter.send("demo"); responseBodyEmitter.send("test"); responseBodyEmitter.complete(); } catch (Exception ignore) {} }); return responseBodyEmitter;}
以上是“SpringMVC如何使用ResponseBodyEmitter进行异步处理”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!