Java 瓦丁UI在一段时间后分离

Java 瓦丁UI在一段时间后分离,java,push,vaadin,Java,Push,Vaadin,我使用的是Vaadin 7.1.2,并且严重依赖其推送通知支持。应用程序启动后一段时间内一切正常,但大约30-40分钟后,它突然停止从服务器推送更新,而是在每个更新事件上记录com.vaadin.ui.UIDetachedException。重新启动有帮助,但时间很长 所有配置参数都是默认的,除了我必须为push to work添加-Djava.net.preferIPv4Stack=true-Djava.net.preferIPv4Addresses=true命令选项之外 我部署到Tomcat

我使用的是Vaadin 7.1.2,并且严重依赖其推送通知支持。应用程序启动后一段时间内一切正常,但大约30-40分钟后,它突然停止从服务器推送更新,而是在每个更新事件上记录
com.vaadin.ui.UIDetachedException
。重新启动有帮助,但时间很长

所有配置参数都是默认的,除了我必须为push to work添加
-Djava.net.preferIPv4Stack=true-Djava.net.preferIPv4Addresses=true
命令选项之外

我部署到Tomcat 7.0.36,并且在其配置中,所有内容都设置为默认值

要更新UI,我只需调用

ui.access(new Runnable{...});
在我从
UI.init()
方法传递到每个组件的UI实例上


我遗漏了什么吗?

当应用程序处于空闲状态时(例如,你在应用程序中什么都不做)或无论用户是否处于活动状态,都会发生这种情况吗?可能是在客户端半小时不活动后,Tomcat使用户会话无效,这就是UI分离的原因。如果不是这样的话,请考虑升级到最新的VAADIN,现在是7.1.8。推送的许多问题最近都得到了解决。

不,这是我的错-我没有正确释放资源,因此模型中的一些事件被推送到分离的UI,这导致UIDetachedException,并阻止这些事件进入新的UI实例。