取消信号(关闭连接)可能是什么原因?

问题描述 投票:0回答:1

在我们应用程序的 Kibana 中,我不断看到来自

org.springframework.web.reactive.function.client.ExchangeFunctions
的这行日志:

[2f5e234b] Cancel signal (to close connection)

线程是

reactor-http-epoll-1
左右。

这可能在两种情况下发生:

  • 当连接成功并返回响应时,那就没有关系了
  • 当由于某种未知原因,10秒后,连接没有返回任何内容,并且这条线也发生了,仅此而已。这似乎是一个超时,但我不确定(因为我的 WebClient 配置中的默认超时是 10 秒)

这可能是什么原因造成的?客户端主动掉线还是服务器主动拒绝?

第二种情况是超时吗?但之后不会抛出

TimeoutException()

我现在在 WebClient 中进行

doOnCancel()
登录来处理第二种情况,但后来我注意到存在情况 1,并且这种
doOnCancel()
处理不再有意义,因为它似乎在所有情况下都会发生。

spring-webflux spring-webclient reactor-netty
1个回答
0
投票

我有同样的日志。但在我的

WebClient
中,我返回了
Mono.empty()
并且方法签名是
Mono<Void>
。 更改为
Mono<String>
后问题就消失了。

© www.soinside.com 2019 - 2024. All rights reserved.