Java SpingWebFlux使所有连接保持活动状态

Java SpingWebFlux使所有连接保持活动状态,java,xmlhttprequest,spring-webflux,cocos2d-js,reactor-netty,Java,Xmlhttprequest,Spring Webflux,Cocos2d Js,Reactor Netty,我有一个使用SpringBoot2.1.8和SpringWebFlux 5.1.9的Web服务。此服务正在Centos服务器上运行。 每天,很多CocosJS游戏客户端(移动设备)都会使用一些数据向该服务调用一些POST HTTP请求,而客户端每天只需在线几个小时 这是我的服务路由器: @Bean public RouterFunction<ServerResponse> handleLog() { return route(POST("/log&q

我有一个使用SpringBoot2.1.8和SpringWebFlux 5.1.9的Web服务。此服务正在Centos服务器上运行。 每天,很多CocosJS游戏客户端(移动设备)都会使用一些数据向该服务调用一些POST HTTP请求,而客户端每天只需在线几个小时

这是我的服务路由器:

@Bean
    public RouterFunction<ServerResponse> handleLog() {
        return route(POST("/log"), (request) -> {
            try {
                Mono<Long> response = request.bodyToMono(Log.class)
                        .flatMap(l -> HandleService.handle(l));

                return ServerResponse.ok().contentType(MediaType.TEXT_EVENT_STREAM).body(response, Long.class);
            }
            catch (Exception e) {
                return ServerResponse.status(HttpStatus.INTERNAL_SERVER_ERROR).body(Mono.just("FAIL BY " + e), String.class);
            }
        });
    }
@Bean
公共路由函数handleLog(){
返回路线(POST(“/log”),(请求)->{
试一试{
Mono响应=request.bodyToMono(Log.class)
.flatMap(l->HandleService.handle(l));
返回ServerResponse.ok().contentType(MediaType.TEXT\u EVENT\u STREAM).body(response,Long.class);
}
捕获(例外e){
返回ServerResponse.status(HttpStatus.INTERNAL_SERVER_ERROR).body(Mono.just(“FAIL BY”+e),String.class);
}
});
}
启动后,我看到当前建立的TCP连接的数量在不断增加(我有一个服务器监控工具),一天内达到数千个连接

目前,我通过使用SpringMVPWeb来避免这个问题。它工作了,连接的数量总是在120左右


任何人都可以向我解释为什么Webflux保持这样的收入联系。请帮忙(

你的意思是你的客户端从不关闭连接吗?@TongChen:我不确定。每个客户端只需调用HTTP请求10-20次,就可以将跟踪数据推送到我的服务。如果问题是我的客户端从不关闭连接,为什么我改用Spring MVP时不会发生这种情况?你能支持一个演示吗(我们可以下载)为了重现这个问题,我们可以进行研究。你是说你的客户端从不关闭连接吗?@TongChen:我不确定。每个客户端只需调用HTTP请求10-20次,就可以将跟踪数据推送到我的服务。如果问题是我的客户端从不关闭连接,为什么我改用Spring MVP时不会发生这种情况?你能支持dem吗o(我们可以下载)来重现这个问题,以便我们进行研究。