Spring MVC中SseEmitter无法异步发送SSE事件问题求助
Spring MVC中SseEmitter无法异步发送SSE事件问题求助
我最近在开发一个基于Spring MVC的API,想要用SSE实现数据流式传输的功能。之前用Spring WebFlux做SSE的时候一切正常,数据能异步地流式返回,但换成Spring MVC的SseEmitter之后就出问题了——所有数据不是逐个事件发送,而是等到最后一个事件完成后一次性全部返回,完全违背了SSE的设计初衷。
我照着网上的示例写了个简单的测试接口,结果还是不行,代码如下:
@GetMapping(value = "/test", produces = MediaType.TEXT_EVENT_STREAM_VALUE) public SseEmitter testSSe(){ SseEmitter emitter = new SseEmitter(); for(int i = 1; i < 5; i++) { int iInLoop = i; try { Thread.sleep(iInLoop * 1000); emitter.send(iInLoop ); }catch (Exception e){ e.printStackTrace(); } } emitter.complete(); return emitter; }
有没有大佬能帮我看看问题出在哪,怎么才能让SseEmitter正常异步发送SSE事件呢?
备注:内容来源于stack exchange,提问作者Joseph Daniel
相关产品推荐
相关产品推荐

