gwt中的远程服务执行两次

Posted

技术标签:

【中文标题】gwt中的远程服务执行两次【英文标题】:Remote Service in gwt is executed twice 【发布时间】:2012-10-02 09:57:26 【问题描述】:

我正在使用 GWT 调用服务。

在客户端我只调用了一次方法,但在服务器端,服务中的方法被调用了两次。

我在 Firefox 中使用 GWT-Tools 调试了客户端;当我调用一次该方法时,服务器中有两次执行。参数中的数据相同,但在两个不同的线程中。

我在同一个应用程序中有更多调用,但问题仅在于那个。

【问题讨论】:

当我使用 firebug 检查 RPC 调用时,这被标记为“已中止”,但实际上被调用了两次。我在一个论坛上发现了这个帖子,有人有同样的问题,但没有答案:sencha.com/forum/… 很难说是什么问题,您能否发布有关您的 RPC 客户端激活和您的 RPC 调用的代码? 我也有同样的问题。你找到解决办法了吗? 【参考方案1】:

在带有大量参数和一些子调用的大量并行调用中遇到了同样的问题。

有些调用偶尔会执行两次。来自客户端的参数和调用是正确的,问题出在服务器端。没有出现子调用/参数较少的问题。

当客户端上的所有调用都链接到单个序列而没有其他更改时,问题似乎消失了。即,当上一次调用及其所有子调用完全完成时执行下一次调用(大量嵌套 OnSucess 而不是后续调用)。

【讨论】:

【参考方案2】:

我遇到了同样的问题,在我的例子中,我发现我要添加监听器的组件已经注册了两次,这两个监听器做了同样的事情——调用相同的 RPC 方法。

这就是为什么它在我调试客户端代码时调用一次 RPC 方法,但在服务器端调用两次,因为另一个调用来自另一个侦听器。

【讨论】:

以上是关于gwt中的远程服务执行两次的主要内容,如果未能解决你的问题,请参考以下文章

GWT-Designer 在添加远程服务时不会构建异步接口

gwt:进行远程调用失败-sop?

获取远程服务器上两次提交之间的所有提交?

两次端口转发:在本机远程使用服务器上的TensorBoard

两次端口转发:在本机远程使用服务器上的TensorBoard

调用 GWT RPC 服务