We recently migrated a Vaadin 6 Application to 7.1. The heartbeat mechanism really sounds great to do some cleanup after an UI is not active anymore but the Push-mechanism seems to still prevent that from happening.
I tried to catch the DetachEvents for quite some time. Since i could get it to work in a very basic vaadin project i was wondering what the difference is to our main application. I found some posts in this forum about people having the same problems: The cleanup will not happen if push is enabled. We made some test runs, and the cleanup only happend when push-mode was set to disabled.
I was wondering if there is a solution to this problem? Since not beeing able to use push and cleanup at the same time is kind of a big setback. I do understand that there is some server side filtering with heartbeats, like not counting heartbeats as normal client requests to differ when and if a session can be invalidated. Is there some mechanism at place when push is enabled, like not waiting for client requests at all?
Any way around this issue? Changelog for 7.1.3 did not provide any information
Try deploying your app to a real server. I mean another one then the one you’re launching when debugging/running your app in an IDE like Eclipse.
Have a look at this thread for more information.
Thanks for the tip.
Sadly, i did not help with the issue. I deployed it on JBoss As 7.1.1, still no difference. Tested it with productionmode true and false.
I also tried the initial parameter org.atmosphere.cpr.sessionSupport = false, as described in the other thread.
Is there an official statement for this issue? Or any other workarounds/tips?
Did/Could you try deploying your app on something like a Tomcat to see if your problem is serve dependent? If it is you should create a ticket to let the Vaadin Dev Team know about this issue.
Yes, i did test two applications both on JBoss 7.1.1 and Tomcat 7. Both from Eclipse and standalone. In all cases, the sessions did only time out when Push was set to disabled. It just seems that the Push-mode ignores every missing client requests instead of only ignoring non-heartbeat requests.