3

我是vaadin的新手。我有几个问题:

  1. Vaadin 7 或更高版本是否支持 websockets?

  2. Vaadin 是否有任何其他功能,例如将数据从服务器推送到客户端(例如 websockets)?

4

3 回答 3

4

Vaadin 支持Atmosphere,所以 google 来获取启用 websockets 的插件。

于 2013-03-25T12:15:34.757 回答
2

更新 -内置推送

jfarcandAtmosphere的创建者)和Ludd的其他两个答案都是正确的,但现在已经过时了。

Vaadin 7.3.7(截至 2015 年 1 月)现在包含Atmosphere 库Atmosphere 提供了对Push的内置支持。无需添加任何 jar、库、插件或附加组件。Vaadin Push 首先尝试使用 WebSocket 技术。如果不可用,Vaadin Push 会退回到其他方法。

三个简单的步骤:

  1. @Push注释添加到您的 UI 子类
  2. 使用 aScheduledExecutorService在后台更新应用程序的数据。最好在ServletContextListener您的 Vaadin Web 应用程序启动和关闭时启动和停止 executor 服务。
  3. 当新数据准备好时,后台线程调用UI::access方法来安排对 UI 线程(请求处理线程)上的用户界面组件(小部件)的访问和更改。

您可能希望一个用户的主用户界面线程更新另一个用户的显示,而不是第 2 步。基本上相同的想法,并涵盖在 Vaadin 之书中。

瓦丁之书

有关服务器推送的更多信息,请参阅The Book Of Vaadin中的第 11.16 节。

最小的例子

在 2015 年 1 月,我针对 Vaadin 7中的 Push 的最小示例发布了此答案。您可以复制单个文件的内容,以替换MyUI新的默认 Vaadin 项目中的类内容。

于 2015-01-08T05:26:21.480 回答
2

服务器推送是几周后 Vaadin 7.1 的主要功能。查看当前状态的路线图和相关的博客文章

在 Vaadin 7.1 之前下载最多的服务器推送插件是ICEPush ,但您也可以在插件目录中找到其他替代品。

于 2013-03-25T19:14:45.090 回答