赞
踩
我在Java Spring中使用服务器端事件(SSE).每当新客户端订阅事件服务时,我在REST控制器上执行以下代码:
SseEmitter emitter = new SseEmitter(-1L); emitter.onCompletion(() -> { logger.debug(TAG + "Emitter completed."); emitters.remove(emitter); }); return emitter;
然后,每当需要将事件通知给我执行的客户端时:
for (ResponseBodyEmitter emitter: emitters) { emitter.send("Message #1"); }
问题是当其中一个客户端重新加载浏览器时,发射器没有完成(正如我所料),并且在调用上面的代码时我得到一个损坏的管道异常.只有在触发此异常后,我才会看到发射器已完成.
有没有办法解决这个问题?
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。