SseEmitter与代理

时间:2018-12-10 15:32:12

标签: java spring server-side server-sent-events

我的春季申请中存在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的请求未从服务器获得任何响应,但是其他返回值的控制器起作用了

我认为这可能是代理问题,但找不到有关此错误的任何信息

希望你能帮助我!

1 个答案:

答案 0 :(得分:1)

您使用哪个代理? 有些代理需要特殊的配置(content-length,标头等)来支持SSE,而有些则不需要(例如AWS负载均衡器(至少在去年))。