Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带代理的SSE发射器_Java_Spring_Server Side_Server Sent Events - Fatal编程技术网

Java 带代理的SSE发射器

Java 带代理的SSE发射器,java,spring,server-side,server-sent-events,Java,Spring,Server Side,Server Sent Events,我的spring应用程序中存在SSE问题 当我在本地环境中运行代码时,它工作得非常好 但是,当我将应用程序部署到服务器上时,我无法从控制器获得响应 这是我的密码 @GetMapping("/api/sse/connect") public SseEmitter getConnexion(){ if(sseEmitters == null){ sseEmitters = new ArrayList<>(); } SseEmitter emit

我的spring应用程序中存在SSE问题

当我在本地环境中运行代码时,它工作得非常好

但是,当我将应用程序部署到服务器上时,我无法从控制器获得响应

这是我的密码

  @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;
}
@GetMapping(“/api/sse/connect”)
public-getConnexion(){
如果(SSEMITERS==null){
sseEmitters=newarraylist();
}
SseEmitter发射器=新的SseEmitter();
添加(发射器);
发射器.onCompletion(()->sseEmitters.remove(发射器));
返回发射器;
}
问题是,当应用程序位于服务器上时,/api/sse/connect的请求不会从服务器得到任何响应,但是其他返回值的控制器可以工作

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

希望你能帮助我

您使用哪种代理?
有些代理需要特殊配置(
内容长度、标题等)来支持SSE,有些则不需要(比如AWS负载平衡器(至少去年))。

它是一个公司代理,我没有太多关于它的信息,我的应用程序托管在AWS上。问题是,当我的应用程序在AWS上时,我的请求处于挂起状态。但当我在本地环境上运行应用程序时,没有问题:/AWS负载平衡器不支持SSE(至少在2017年,我还没有检查他们是否解决了问题):请求中有/有一个超时,连接在一段时间后关闭,这对SSE来说很遗憾。。。但是如果你没有收到任何东西,它也可能来自你的公司代理。可能您可以在AWS上使用支持SSE()的nginx代理您的应用程序进行检查。