A constantly open communication mechanism to eliminate the need for pushing or polling.
This is a sister project for DontPush. The main idea in both is to replace the default XHR based communication in Vaadin with a version that keeps the connection always "online". UI changes from non-user initiated threads will reflect seamlessly to the browsers.
The difference between the original DontPush add-on and this is that the OzoneLayer version is using Atmosphere framework for broader support as where the original DontPush uses a flash based fallback to simulate WebSockets in all browsers. Atmosphere framework provides a stable communication channel, that will use best available method. WebSockets are used if supported by both server and client. Else Atmopshere will fallback to various long polling based methods spiced with e.g. Servlet 3.0 request suspension if available.
The project currently works with Atmosphere versions from 0.7.2 to latest 0.8.6. In theory all browser-server combinations supported by Atmosphere should work.
To use this add-on you need to use a custom vaadin servlet and also configure an atmosphere servlet. The best way to get started is to check out the maven based example project. Check especially META-INF and WEB-INF directories and pom.xml for dependencies.
The project is currently developed by Mark Thomas and Matti Tahvonen. Contributions are more than welcome. Use the google code project page for development related communication (bugs, enhancement requests and patches). For usage related discussions use Vaadin forum.
- Demo sources
- DontPush add-on with native WebSockets
- Change history
- Tetris demo (6 eur budget server)
- Blog post discussing this add-on
- Project Homepage
Was this helpful? Need more help?
Leave a comment or a question below. You can also join the chat on Discord or ask questions on StackOverflow.
- Updated to atmosphere 1.0.9
- repaint whole screen if an uncaught error happens during variable changes
- Apache License 2.0
- Vaadin 6.8+
- Vaadin 6.0+ in 0.4.9
- Browser Independent