1、簡述
在許多場景下,我們希望后端能夠以流式、實時的方式推送數據給前端,比如消息通知、日志實時展示、進度條更新等。Spring Boot 提供了 ResponseBodyEmitter 機制,可以讓我們在 Controller 中異步地推送數據,從而實現實時流式輸出。
樣例代碼:https://gitee.com/lhdxhl/springboot-example.git
本文將介紹 ResponseBodyEmitter 的基本原理、使用方法以及實際案例,幫助你輕松構建異步實時推送系統。
2、主要特點
ResponseBodyEmitter 是 Spring MVC 提供的一種支持異步、流式 HTTP 響應輸出的機制。與傳統的阻塞式返回不同,它允許在請求線程返回后,通過獨立的線程繼續向客戶端推送數據,直到所有數據寫入完畢或超時。
- 異步非阻塞:在主線程返回后,通過獨立線程異步發送數據。