GWT 和不可重现的 503 错误

Posted

技术标签:

【中文标题】GWT 和不可重现的 503 错误【英文标题】:GWT and an unreproducable 503 error 【发布时间】:2010-12-20 14:50:39 【问题描述】:

我有一个使用 GWT (2.0.3) 构建并在 Apache Tomcat 6 上运行的 Web 应用程序。 我的应用程序使用长轮询来启用客户端-服务器对话。 当客户端无法连接到服务器时,它会在页面上显示一条已断开连接的消息,并使控件灰显,直到它能够恢复与服务器的对话。 这是通过使用 rpc 服务的onFailure 方法实现的;我会跟踪我收到了多少个后续异常,如果它超过了定义的阈值,就会发生上述情况。 这允许在后台继续恢复服务器对话时通知用户出现问题。 这个已经配置了大约6个月了,没有问题。 我在更改后编译了应用程序并希望在独立模式下查看它,所以我启动了 tomcat(不是通过 eclipse),一切似乎都工作正常。 当我 ctrl+c'd apache(同时让客户端启动时)我看到客户端显示 503 错误,而不是我的应用程序显示断开连接的消息。 然后,我尝试重现该问题,但无法在下一次应用程序按预期运行时出现。 我不确定它是否相关,但最近我在模块的onModuleLoad 中添加了一个UncaughtExceptionHandler

有人遇到过这样的问题吗? 你知道我怎样才能让我的客户对这样的问题免疫吗?

非常感谢, 一泰

【问题讨论】:

【参考方案1】:

您的应用可能在关闭过程中尝试连接到服务器。某些服务可能已经关闭,因此请求因内部服务器错误而失败。

【讨论】:

感谢您的评论。我在想一个类似的场景。您对如何解决这个问题有任何想法吗?我需要我的客户对此免疫。我会更新问题以反映。 抱歉,我之前将您的错误误读为 500 - 内部服务器错误。您的错误是 503,这意味着服务不可用。您可以尝试通过使 Tomcat 以某种方式生成 503 来重现错误。您是否尝试过在不关闭服务器的情况下停止应用程序tomcat.apache.org/tomcat-6.0-doc/… 谢谢,但您的链接说明了如何生成 404 而不是 503。您是否知道如何让 Tomcat 返回 503?【参考方案2】:

我遇到了类似的问题,在 tomcat 前面有一个 apache httpd 并在发出“后台”异步请求之一时停止 tomcat,由于安全重定向策略,失败的请求结束重定向浏览器,瞧我们的503 错误页面。

【讨论】:

以上是关于GWT 和不可重现的 503 错误的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Tomcat 在本地产生 503 错误?

GWT-RPC 错误 - 子类型不可实例化

测试中遇到不可重现的Bug怎么办?

压力测试报出503错误---ASP.NET支持大并发的相关配置

由于不可重现的错误,使用 Flutter 制作的 iOS 应用程序被拒绝

GWT ie8 超时 12002