gpt4 book ai didi

java - GWT 应用程序由于内部无限循环而卡住

转载 作者:行者123 更新时间:2023-12-01 13:37:27 24 4
gpt4 key购买 nike

我正在 Eclipse Juno 上使用 GWT 2.5.1 和 Ext GWT v2.2.4 运行 GWT 应用程序。 Java 6(32 位),我无法更改任何内容。

我最近移交了这个应用程序,它在另一台机器上运行良好。启动应用程序(运行 > GWT 应用程序)后,我继续登录到我的应用程序,我的代码正常执行,但随后我的应用程序卡住了。我调试并发现应用程序在此 GWT 内部方法中进入无限循环(即在类 com.google.gwt.dev.shell.BrowserChannelServer 中):

public void reactToMessages(SessionHandlerServer handler) {
do {
try {
getStreamToOtherSide().flush();
MessageType messageType = Message.readMessageType(
getStreamFromOtherSide());
switch (messageType) {
case FREE_VALUE:
final FreeMessage freeMsg = FreeMessage.receive(this);
handler.freeValue(this, freeMsg.getIds());
break;
case INVOKE: //<<<< Keeps getting into this block
InvokeOnServerMessage imsg = InvokeOnServerMessage.receive(this);
ExceptionOrReturnValue result = handler.invoke(this, imsg.getThis(),
imsg.getMethodDispatchId(), imsg.getArgs());
sendFreedValues();
ReturnMessage.send(this, result);
break;
case INVOKE_SPECIAL:
handleInvokeSpecial(handler);
break;
case QUIT:
return;
default:
throw new RemoteDeathError(new BrowserChannelException(
"Invalid message type " + messageType));
}
} catch (IOException e) {
throw new RemoteDeathError(e);
} catch (BrowserChannelException e) {
throw new RemoteDeathError(e);
}
} while (true);
}

messageType 始终为 INVOKE,并且由于 while 条件为 true,因此循环永远不会结束。所以执行就卡在这个栈了:

Daemon Thread [Code server for av.mymodule from Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0 on http://127.0.0.1:8889/mymodule.html?gwt.codesvr=127.0.0.1:9997 @ tsb2t8vtLUT/vrj#] (Suspended)
BrowserChannelServer.reactToMessages(BrowserChannelServer$SessionHandlerServer) line: 292
BrowserChannelServer.processConnection() line: 547
BrowserChannelServer.run() line: 364
Thread.run() line: 662

我清理了项目,删除了缓存文件、tmp 文件,重新编译了多次,尝试了旧版本 2.4.0,但我无法尝试 2.6,因为我需要 java 7,但目前无法安装。我尝试了chrome和firefox,结果相同。经过一番搜索后,我发现了一些建议,建议我不要使用浏览器进行放大,但是,我没有这样做。

请问可能是什么问题?

最佳答案

问题是 Ext GWT 2.2.4 与 GWT 2.5.1 不兼容,但与 GWT 2.5.0 兼容

因此改用 GWT 2.5.0 解决了问题。

关于java - GWT 应用程序由于内部无限循环而卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21148346/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com