我在GWT应用程序中遇到了一个奇怪的问题。我有多个RPC调用正常工作,但如果其中一个在服务器端花费超过30秒(例如数据库或Web服务调用需要很长时间),服务器端代码将重复(字面意思;代码获取再次执行。)
我在开发环境中没有遇到这种情况,但是当我部署应用程序(容器是Ubuntu 12.04 LTS上的Jetty 6.1.24)并从浏览器连接到它(无论类型如何)时,问题就开始存在了
由于我不认为这是一个设计的GWT行为(但我可能错了)我基本上在寻找调试方法并找出原因。提前谢谢!
答案 0 :(得分:0)
更多信息可以很好地理解发生了什么,但我会首先缩小是否在客户端或服务器上触发错误的GWT-RPC调用来开始调查。
要查看额外的GWT-RPC请求是否来自浏览器,请在Google Chrome中转到View-> Developer-> Developer Tools ..点击网络标签。
当您重现步骤时,“网络”选项卡将显示发送到服务器的每个请求。
如果您在此网络选项卡视图中看到错误的GWT-RPC请求,则会从应用程序中的GWT编译的Javascript中触发该请求。使用SuperDevMode,您可以在浏览器中设置调试断点,并查看触发请求的内容。
如果网络选项卡视图中未显示错误的GWT-RPC,则服务器端方法会以某种方式触发服务器端方法。在服务器代码上设置一些调试断点,并深入调用堆栈以查看调用该方法的内容。
希望有助于开始调查。