GWT RPC 调用在 30 秒后重复

Posted

技术标签:

【中文标题】GWT RPC 调用在 30 秒后重复【英文标题】:GWT RPC call gets repeated after 30 seconds 【发布时间】:2015-05-04 13:54:56 【问题描述】:

我在 GWT 应用程序中遇到了一个奇怪的问题。我有多个可以正常工作的 RPC 调用,但是如果其中一个调用在服务器端花费的时间超过 30 秒(例如,数据库或 Web 服务调用花费了很长时间),服务器端代码就会重复(字面意思;代码得到再次执行)。

我在开发环境中没有遇到这种情况,但是当我部署应用程序(容器是 Ubuntu 12.04 LTS 上的 Jetty 6.1.24)并从浏览器连接到它(无论类型如何)时,问题开始存在.

由于我不认为这是设计好的 GWT 行为(但我当然可能错了),我基本上是在寻找调试方法并找出原因。提前致谢!

【问题讨论】:

【参考方案1】:

更多信息有助于了解发生了什么,但我将首先缩小错误 GWT-RPC 调用是在客户端还是服务器上触发的范围来开始调查。

要查看额外的 GWT-RPC 请求是否来自浏览器,请在 Google Chrome 中转到查看->开发人员->开发人员工具。单击网络选项卡。

当您重现您的步骤时,“网络”选项卡将向您显示发送到服务器的每个请求。

如果您看到此网络选项卡视图中记录了错误的 GWT-RPC 请求,则该请求是从应用程序中 GWT 编译的 javascript 中触发的。使用 SuperDevMode,您可以在浏览器中设置调试断点并查看触发请求的原因。

如果错误的 GWT-RPC 未显示在网络选项卡视图中,则服务器端方法是由您的服务器代码/配置以某种方式触发的。在您的服务器代码上设置一些调试断点,并深入调用堆栈以查看调用该方法的内容。

希望这有助于开始调查。

【讨论】:

以上是关于GWT RPC 调用在 30 秒后重复的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Spring MVC-Spring Security 应用程序中处理 GWT RPC 调用的会话过期异常

什么时候应该使用 RequestFactory 与 GWT-RPC?

RPC 调用期间 GWT 冻结

来自 GWT 的 RPC 调用中的异常

GWT:分派传入 RPC 调用时出现异常

GWT:更换与异步的RPC阻塞调用