java - GWT 在 onModuleLoad 之前的应用程序启动时挂起

标签 java gwt gxt

我们有 GWT/GXT 3 应用程序(大部分是从 gxt 2 迁移的,但仍有一些小区域尚未更新)。该应用程序将卡在其加载屏幕(只是一个带有旋转 gif 的 div)并且不完整,但是这种情况仅发生在我们的一个客户的 IE8 上。

它无法到达 onModuleLoad 来启动应用程序,并且在下载 JavaScript 期间似乎挂起。 我还能做些什么来调试这个吗?

更多信息

用户代理 - Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; chromeframe/23.0.1271.95; .NET CLR 1.0.3705; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.1; .NET4.0C; .NET4.0E; InfoPath.2)

正在使用的软件 - GWT, GXT, Spring, Comet, JMS

客户端可能同时拥有我们无法控制的代理和防火墙。

编辑 补充一下,这是一个适用于所有其他客户端的实时系统,并且对于有问题的客户端来说只是一个间歇性问题

最佳答案

您可以设置 uncaughtExceptionHandler 并在屏幕上显示错误。

看一下这个例子: https://github.com/dankurka/mgwt.showcase/blob/master/src/main/java/com/googlecode/mgwt/examples/showcase/client/ShowCaseEntryPoint.java

@Override
public void onModuleLoad() {
    GWT.setUncaughtExceptionHandler(new UncaughtExceptionHandler() {
        @Override
        public void onUncaughtException(Throwable e) {
            Window.alert("uncaught: " + e.getMessage());
            String s = buildStackTrace(e, "RuntimeExceotion:\n");
            Window.alert(s);
            e.printStackTrace();
        }
    });
    new Timer() {
        @Override
        public void run() {
            start();
        }
    }.schedule(1);
}

如果您在 onModuleLoad 中设置 UncaughtExceptionHandler 并且不使用 Timer,则不会记录此方法中发生的任何情况。

关于java - GWT 在 onModuleLoad 之前的应用程序启动时挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21734020/

相关文章:

java - 如何给你的程序添加声音?

java - 重写compareTo时使用compareTo方法?

java - 为什么所有 opengl 枚举都是十六进制的?

java - 仅接受两位整数或 float 的正则表达式

GWT Maven插件每次都会重新编译

java - maven缺少资源文件

java - 使 gwt 网站在没有哈希符号的情况下可抓取?

gwt - GWT/GXT 的调试控制台

java - Ext GWT 2.2.5 折叠日期选择器

javascript - 如何将一些js应用到gxt元素?