Vaadin 7在执行后台线程后不刷新UI(仅当它花费超过5分钟时)

我正在使用Vaadin 7.在我的应用程序中有一个表列表,用户可以选择一个或多个项目来详细说明。 如果单击执行按钮,则禁用UI组件并启动两个线程:第一个线程执行大量计算第二个线程更新进度指示器在UI上(使用lock()和unlock()方法)

在第1个线程结束时:

item从DB中删除,删除所有组件并重新添加(启用)。 以这种方式确保刷新表数据。

它运行良好,但是当处理长任务时,UI不会刷新,表也会被禁用。

有人可以帮帮我吗?

非常感谢

请参阅https://vaadin.com/forum#!/thread/231272

简而言之 – 在Vaadin 6.0和7.0中,您无法从非请求线程“推送”从服务器到浏览器的更改。 (有适用于v6的插件,但不适用于v7.0)

在Vaadin 7.1(尚未发布)中,这是可能的。 有关详细信息,请参阅https://vaadin.com/wiki/-/wiki/Main/Enabling+server+push 。

您可以使用像ProgressIndicator一样定期刷新的组件。 线程完成后禁用它。 这对我行得通。