We are currently in the process of porting our application to Vaadin 7.1.0 from Vaadin 6. Originally, with Vaadin 6, we used Atmosphere and OzoneLayer to implement push.
When the server would shutdown with a client running the user would get a communication error popup letting the user know that the server was no longer available. Now that we have moved to Vaadin 7, with the built in push mechanism, the communication error does not open in this situation. The only time a popup opens is when the server is restarted with the client still running, in which case I see the SessionExpired error popup.
I can see warnings about the web socket in the javascript console but no popup. I can also see the spinner at the top right hand corner of the page go red and then disappear, like it would in 6 when the communication error popup was then shown, but now there is no popup.
I have implemented the new heartbeat stuff in my web.xml with the following additions but it seems that with or without the parameters I still do not get the popup.
<init-param>
<param-name>closeIdleSessions</param-name>
<param-value>true</param-value>
</init-param>
<context-param>
<param-name>heartbeatInterval</param-name>
<param-value>30</param-value>
</context-param>
<session-config>
<session-timeout>1</session-timeout>
</session-config>
The architecture of the application is as follows:
- Native Java Application running embedded Jetty.
- Jetty launches several instances of Equinox OSGI in separate servlets using the Equinox servlet bridge.
- Equinox then launches the Lunifera OSGI Vaadin bridge
- The Lunifera OSGI Vaadin bridge then launches my Vaadin application.
Vaadin version: 7.1.0 stable
Atmosphere: 1.0.14
Jetty: 8.1.4
Equinox: 3.8.2
I have also verified that the communication error exists and is enabled by modifying the Lunifera VaadinServlet implementation.
Any help with this issue would be greatly appreciated.