You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot集成测试中NioEndpoint未触发超时问题排查

问题:如何触发Tomcat连接超时?

我在Controller中加入睡眠循环,目的是在集成测试中触发服务器超时。已将Tomcat连接超时设置为较小值:

server:
  tomcat:
    connection-timeout: 1000

我已在SocketWrapper中确认socket超时已设置为该值,配置层面无问题。

但在NioEndpoint的Poller代码(来自tomcat-embed-core:9.0.4.1,第951行)中,以下判断始终不成立:

} else if ((socketWrapper.interestOps() & SelectionKey.OP_READ) == SelectionKey.OP_READ ||
      (socketWrapper.interestOps() & SelectionKey.OP_WRITE) == SelectionKey.OP_WRITE) {

判断不成立的原因是:除了断点首次触发时(此时还未到超时时间),其余时间socketWrapper.interestOps()的值均为0。

请问我还可以采取哪些不同的操作?

内容的提问来源于stack exchange,提问作者Luis Muñiz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 22:32:37