我们有一个 servlet,它接受请求并在外部系统上执行某些操作。很多时候,这些外部系统响应缓慢,请求时间超过 60 秒。在日志中我们注意到,只要客户端仍然连接,恰好在 60 秒后,就会向 servlet 发出一个新请求(使用相同的 post 参数)。
谷歌搜索发现其他应用服务器(如 Glassfish 等)也报告了相同的情况。原因似乎是在 60 秒超时后,servlet 或 Web 容器正在超时调用并重复请求。请注意,这似乎是 servlet 或容器启动的刷新,而不是真正从客户端发布的。避免这种情况的方法是显然增加超时。(在这里阅读更多关于类似问题的信息: Java - 来自两个 WebContainer 线程的多个请求)
我将 deploy/jbossweb.sar/server.xml 中的 connectionTimeout 增加到 120000(2 分钟),但调用仍然在 60 秒后重复。
知道如何增加超时或避免 JBoss 中的这种行为吗?
谢谢斯里尼