GWT-RPC:重复的服务器调用

GWT-RPC:重复的服务器调用,gwt,rpc,gxt,Gwt,Rpc,Gxt,上次我们的一个应用程序遇到了一个奇怪的问题。有时(但不是经常)会发生一些GWT RPC调用被复制的情况 服务器日志中的示例: 2017-04-07 17:11:29,548 DEBUG AuthenticationChecker [ 67] - For: SearchServiceImpl.getDocSearchResults....................................... 2017-04-07 17:11:29,548 DEBUG AuthenticationC

上次我们的一个应用程序遇到了一个奇怪的问题。有时(但不是经常)会发生一些GWT RPC调用被复制的情况

服务器日志中的示例:

2017-04-07 17:11:29,548 DEBUG AuthenticationChecker [ 67] - For: SearchServiceImpl.getDocSearchResults.......................................
2017-04-07 17:11:29,548 DEBUG AuthenticationChecker [ 67] - For: SearchServiceImpl.getDocSearchResults.......................................
AuthenticationChecker
是在每次服务方法调用之前记录上述信息的一个方面

正如您所看到的,两个调用完全在同一毫秒内完成

您知道在GWT/GXT应用程序中,重复的服务器调用会发生什么情况吗


如果您能提供帮助,我将不胜感激。

如果看不到任何代码,很难判断。。。你能分享一下吗?代码太复杂了,很难在这里放一个有价值的示例。目前,我在代码中添加了更多日志,如果问题再次出现,也许我能够发现问题的根源。您确定打印两次的不是日志行吗?我们得到了很多。我的意思是,除了重复的线路外,您是否发现了任何其他证据(副作用、重复的DB行等)表明通话不止一次?是的,我非常确定,我们有副作用。为了进行搜索,我们调用外部服务,并且我们在循环中进行搜索,只要我们获得了准备显示的请求行数(调用外部服务后,可以过滤掉一些记录,然后再次调用外部服务,依此类推),或者外部服务不能提供超过请求行数的行数。由于重复调用,一个调用正确结束,结果显示给用户,但另一个调用陷入无限循环。问题是,我们无法重现该问题以进行更多调试。您是否在用户和Java服务器之间使用代理,如果是,是否有日志来确认问题的来源?我见过代理最终重播请求的情况(尽管我记不起具体细节,已经有好几年了)。浏览器中有自定义的东西,比如插件吗?是所有浏览器都会出现这种情况,还是只有一个浏览器会出现这种情况?如果没有看到任何代码,很难判断。。。你能分享一下吗?代码太复杂了,很难在这里放一个有价值的示例。目前,我在代码中添加了更多日志,如果问题再次出现,也许我能够发现问题的根源。您确定打印两次的不是日志行吗?我们得到了很多。我的意思是,除了重复的线路外,您是否发现了任何其他证据(副作用、重复的DB行等)表明通话不止一次?是的,我非常确定,我们有副作用。为了进行搜索,我们调用外部服务,并且我们在循环中进行搜索,只要我们获得了准备显示的请求行数(调用外部服务后,可以过滤掉一些记录,然后再次调用外部服务,依此类推),或者外部服务不能提供超过请求行数的行数。由于重复调用,一个调用正确结束,结果显示给用户,但另一个调用陷入无限循环。问题是,我们无法重现该问题以进行更多调试。您是否在用户和Java服务器之间使用代理,如果是,是否有日志来确认问题的来源?我见过代理最终重播请求的情况(尽管我记不起具体细节,已经有好几年了)。浏览器中有自定义的东西,比如插件吗?是所有浏览器都会出现这种情况,还是只有一个浏览器会出现这种问题?