2

我们正在尝试通过server.connection-timeout在 application.yml中设置来诊断超时问题

为了探索解决方案,我们首先尝试导致连接超时。这个想法是将超时设置为 10 秒并导致 GSP 页面超时。但是,我们发现我们无法通过修改 index.gsp 并添加Thread.sleep(20000).

复制说明:

  • 从 grails forge 创建一个 grails 应用程序:

    curl -O start.grails.org/timeout.zip -d version=3.3.10 -d features=events,geb,hibernate5,json-views
    
  • 修改application.yml

    server:
        connection-timeout: 10000
    
  • 在 index.jsp 中添加睡眠循环

    <%
        Thread.sleep(20000)
    %>
    
  • 启动时加载应用程序的默认页面

笔记:

  • 通过调试Tomcat生命周期,我可以看到嵌入式servlet容器在初始化时被分配了10000ms的配置。
  • 如果我将睡眠循环更改为 65 秒,我仍然没有超时。大多数文档都提到默认值是 60s)
4

0 回答 0