我是vaadin的新手。我有几个问题:
Vaadin 7 或更高版本是否支持 websockets?
Vaadin 是否有任何其他功能,例如将数据从服务器推送到客户端(例如 websockets)?
Vaadin 支持Atmosphere,所以 google 来获取启用 websockets 的插件。
jfarcand(Atmosphere的创建者)和Ludd的其他两个答案都是正确的,但现在已经过时了。
Vaadin 7.3.7(截至 2015 年 1 月)现在包含Atmosphere 库。Atmosphere 提供了对Push的内置支持。无需添加任何 jar、库、插件或附加组件。Vaadin Push 首先尝试使用 WebSocket 技术。如果不可用,Vaadin Push 会退回到其他方法。
三个简单的步骤:
@Push
注释添加到您的 UI 子类ScheduledExecutorService
在后台更新应用程序的数据。最好在ServletContextListener
您的 Vaadin Web 应用程序启动和关闭时启动和停止 executor 服务。您可能希望一个用户的主用户界面线程更新另一个用户的显示,而不是第 2 步。基本上相同的想法,并涵盖在 Vaadin 之书中。
有关服务器推送的更多信息,请参阅The Book Of Vaadin中的第 11.16 节。
在 2015 年 1 月,我针对 Vaadin 7中的 Push 的最小示例发布了此答案。您可以复制单个文件的内容,以替换MyUI
新的默认 Vaadin 项目中的类内容。
服务器推送是几周后 Vaadin 7.1 的主要功能。查看当前状态的路线图和相关的博客文章。
在 Vaadin 7.1 之前下载最多的服务器推送插件是ICEPush ,但您也可以在插件目录中找到其他替代品。