有誰知道如何監控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