有谁知道如何监控GWT中长时间运行的服务器端进程,而不是轮询服务器?我们需要在服务器上进行一些耗时的,多步骤的I/O绑定处理,并且在浏览器中显示此处理的进度将会很好。GWT中的进程监控
1
A
回答
3
这在GWT中很容易处理。
长时间运行的过程是由GWT RPC调用触发的,在这种情况下,您有入口点,或者不是,在这种情况下,您需要手动启动此过程。
请记住,GWT RPC调用是异步的,所以他们不需要立即返回。您需要RPC调用,如checkStatus()
。所以,你可以做这样的事情:
public class JobStatus {
private boolean done;
// other info
// ...
}
public class JobStatusCallback<JobStatus> extends AsyncCallback {
public final void onSuccess(JobStatus result) {
if (result.isDone()) {
done();
} else {
checkAgain();
}
}
public final void onFailure(Throwable caught) {
error(caught);
checkAgain();
}
public void done() { // override
}
public void checkAgain() {
service.checkStatus(this);
}
public void error(Thorwable t) { // override
}
});
,并在您的RPC服务:
void checkStatus(AsyncCallback<JobStatus> callback);
您的服务器可以采取只要它喜欢(合理范围内),从返回的checkStatus()。它可以返回,因为作业已完成或仅通过作业状态更新。上述操作将继续循环直到完成作业状态标志。
0
我认为这取决于你的过程,但如果你打算做类似数据流的事情,你可以使用Server Push(或Comet)技术.GWT支持Comet实现。 谷歌GWT + Comet或GWT + COMET + Tomcat,我在“Google Web Toolkit应用程序”书(gwtapps.com)中阅读了关于comet和gwt的内容。
相关问题
- 1. 在Python中监控进程?
- 2. 监控多进程
- 3. 监控远程进程
- 4. 监控窗口进程
- 5. 的Python:进程/线程监控
- 6. OTP监控程序可以监控远程节点上的进程吗?
- 7. 在GWT中进行控制
- 8. 如何监控远程java进程
- 9. 监控进程的创建和终止
- 10. 监控进程的消息队列
- 11. Python监控stderr和子进程的stdout
- 12. 如何监控iPhone的后台进程?
- 13. 如何监控Java进程的性能?
- 14. AFNetworking监控所有的下载进程
- 15. 监控进程内部的unix资源
- 16. Jconsole applet监控:要监控哪个进程?
- 17. 使用Python进行简单的远程进程监控
- 18. 监控进程延迟重启
- 19. C - 使用进程监控文件
- 20. Linux进程性能监控代理
- 21. SPARK:Pyspark:如何监控python工作进程
- 22. 监控Tomcat进程CPU峰值
- 23. 监控与icinga/nagios jboss进程
- 24. Ruby守护进程和bluepill监控
- 25. 从监控进程获取信息
- 26. CoreOS Kubernetes如何监控节点进程?
- 27. Linux中的进程或线程级功耗监控
- 28. Linux中每个进程的编程资源监控
- 29. Python监控Handbrake的进度
- 30. 过程监控
感谢您的回答。现在,我看到它,这似乎很明显:) – Phil 2009-01-04 02:46:35