vaadin 7 websockets

时间:2013-03-25 12:04:34

标签: websocket vaadin

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

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

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

3 个答案:

答案 0 :(得分:4)

Vaadin支持Atmosphere,因此google获取将启用websockets的插件。

答案 1 :(得分:2)

服务器推送是几周后Vaadin 7.1的主要功能。有关当前状态和相关Roadmap,请参阅blog post

Vaadin 7.1之前下载次数最多的服务器推送加载项为ICEPush,但您也可以在add-on directory中找到其他替代方案。

答案 2 :(得分:2)

更新 - 推送是内置的

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

Vaadin 7.3.7(截至2015-01)现在包含了Atmosphere library。 Atmosphere提供Push的内置支持。无需添加任何jar,库,插件和附加组件。 Vaadin Push首先尝试使用WebSocket技术。如果没有,Vaadin Push会回归其他方法。

三个简单的步骤:

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

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

    Vaadin书

    有关服务器推送的详细信息,请参阅section 11.16中的The Book Of Vaadin

    最小示例

    在2015-01,我在Vaadin 7中发布了this answer for a minimal example of Push。您可以复制单个文件的内容,以替换新默认Vaadin项目中MyUI类的内容。< / p>