我想实现Vaadin Server推送,以便将服务器数据库的更改推送给用户。例如,如果用户A保存到服务器数据库,则用户B应在其UI上自动查看更改。
然而,Vaadin书指出:
SQLContainer不断检查行数 连接的数据库表,以检测外部添加或 删除行。默认情况下,假定表行计数保持不变 有效期为10秒。该值可以从代码中改变;同 SQLContainer中的setSizeValidMilliSeconds()。
这是否意味着我不需要为服务器数据库更改实现服务器推送?
SQLContainer是否也会检查行更新?
我认为服务器推送的原因是将数据更改推送给用户?
答案 0 :(得分:3)
不,它只检查行数。您可以在SQLContainer的size()
和updateCount()
方法的源代码中看到它。通过推送将每个数据库更改推送给用户并不常见,因为它不能很好地扩展。您可以使用刷新按钮更新容器的数据或定期轮询数据库中的更改。 (https://vaadin.com/directory#addon/refresher)