我的 Spring 应用程序中存在 SSE 问题。
当我在本地环境中运行代码时,它运行良好。
但是当我在服务器上部署应用程序时,我无法从 SseController 获得响应
这是我的代码
@GetMapping("/api/sse/connect")
public SseEmitter getConnexion(){
if(sseEmitters == null){
sseEmitters = new ArrayList<>();
}
SseEmitter emitter = new SseEmitter();
sseEmitters.add(emitter);
emitter.onCompletion(() -> sseEmitters.remove(emitter));
return emitter;
}
问题是,当应用程序位于服务器上时,对/api/sse/connect 的请求没有从服务器得到任何响应,但返回值的其他 Controller 可以工作
我认为这可能是代理问题,但我找不到有关此错误的任何信息
希望你能帮助我!
最佳答案
您使用哪个代理?
有些代理需要特殊配置(内容长度
、 header 等)来支持 SSE,有些则不需要(例如 AWS 负载均衡器(至少去年))。
关于java - 带代理的 SseEmitter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53708816/