专栏名称: Java知音
专注于Java,推送技术文章,热门开源项目等。致力打造一个有实用,有情怀的Java技术公众号!
今天看啥  ›  专栏  ›  Java知音

Spring 实现 3 种异步流式接口,干掉接口超时烦恼

Java知音  · 公众号  ·  · 2024-10-18 10:05

文章预览

如何处理比较耗时的接口? 这题我熟,直接上异步接口,使用 Callable 、 WebAsyncTask 和 DeferredResult 、 CompletableFuture 等均可实现。 但这些方法有局限性,处理结果仅返回单个值。在某些场景下,如果需要接口异步处理的同时,还持续不断地向客户端响应处理结果,这些方法就不够看了。 Spring 框架提供了多种工具支持异步流式接口,如 ResponseBodyEmitter 、 SseEmitter 和 StreamingResponseBody 。这些工具的用法简单,接口中直接返回相应的对象或泛型响应实体 ResponseEntity ,如此这些接口就是异步的,且执行耗时操作亦不会阻塞 Servlet 的请求线程,不影响系统的响应能力。 下面将逐一介绍每个工具的使用及其应用场景。 ResponseBodyEmitter ResponseBodyEmitter 适用于要动态生成内容并逐步发送给客户端的场景,例如:文件上传进度、实时日志等,可以在任务执行 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览