1

我想实现 Vaadin 服务器推送,以便将服务器数据库上的更改推送给用户。例如,如果用户 A 保存到服务器 DB,则用户 B 应该会在其 UI 上自动看到更改。

然而,Vaadin 的书指出:

SQLContainer 不断检查连接的数据库表中的行数,以检测外部添加或删除行。默认情况下,假定表行计数保持有效 10 秒。这个值可以从代码中改变;在 SQLContainer 中使用 setSizeValidMilliSeconds()。

那么这是否意味着我不需要为服务器数据库更改实现服务器推送?

SQLContainer 还会检查行更新吗?

我认为服务器推送的原因是将数据更改推送给用户?

4

1 回答 1

3

不,它只检查行数。您可以在 SQLContainersize()updateCount()方法的源代码中看到这一点。通过推送将每个数据库更改推送给用户并不是一种常见的做法,因为它不能很好地扩展。您可以使用 Refresher 插件放置一个刷新按钮来更新容器的数据或定期轮询数据库以进行更改。(https://vaadin.com/directory#addon/refresher

于 2013-08-27T05:59:23.337 回答