2013-09-05 30 views
5

我正在使用Vaadin 7.1.2並嚴重依賴其推送通知支持。在應用程序啓動後的一段時間內,一切運行良好,但在大約30-40分鐘後突然停止從服務器推送更新,而是在每次更新事件中記錄com.vaadin.ui.UIDetachedException。重新啓動有幫助,但很長時間。Vaadin UI在一段時間後分離

除了我必須添加-Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses=true命令選項才能工作,所有配置參數都是默認值。

我部署到Tomcat 7.0.36,並且其配置中的所有內容也都設置爲默認值。

要更新UI我只需撥打

ui.access(new Runnable{...}); 

上,我傳下去從UI.init()方法的每個組件的UI實例。

我錯過了什麼嗎?

回答

1

當應用程序閒置時(例如,您在應用程序中什麼都不做)或者無論用戶是否處於活動狀態,都會發生這種情況嗎?這可能是因爲Tomcat在客戶端處於不活動狀態半小時後會導致用戶會話失效,這就是爲什麼您的用戶界面被分離的原因。如果情況並非如此,請考慮升級到最新版本的Vaadin,它現在是7.1.8。近期推出的許多問題已得到解決。

+1

不,這是我的錯 - 我沒有正確地釋放資源,所以模型中的一些事件被推送到分離的UI,導致UIDetachedException,並阻止這些事件進入新的UI實例。 – Kovalsky