Concurrent request to Application class

This use case is little tricky. In my application user can save tabs (his session), and when he reconnect with his old session I open all the window/tab he saved previously at single time.
Now, when those windows are opened simulteneously, concurrent request goes to my Application class. From the logs I can see that with both the requests (lets assume 2 concurrent requests for example) MyApplication:init() is called twice. And from the subsequent calls, the first Application object is lost along with its associtated Window object which contains the Query Parameters.
I understand that the application object is associated with session and on the very first request before the session object gets set, the second request comes and could not find any session. So it builds the application object again.
I am copying some logs to make it more clear

First concurrent Request

thread-22"] MyApplication.init() com.my.app.MyApplication@
36f936f9

thread-22"] MyWindow.createMyWinodw() = com.my.app.MyWindow@
61e761e7

thread-22"] MyApplication.init() done com.my.app.MyApplication@
36f936f9

thread-22"] Query Parameter uuid ::::::::::::::
xxxx
added to window : com.my.app.MyWindow@
61e761e7

Second concurrent Request

thread-22"] MyApplication.init() com.my.app.MyApplication@
fae0fae

thread-22"] MyWindow.createMyWinodw() = com.my.app.MyWindow@
45024502

thread-22"] MyApplication.init() done com.my.app.MyApplication@
fae0fae

thread-22"] Query Parameter uuid ::::::::::::::
yyyy
added to window : com.my.app.MyWindow@
45024502

Now on third request as the first application object is lost along its window, it tries to create another window
thread-23"] MyWindow.createMyWinodw() = com.my.app.MyWindow@
79bc79bc
- (This is created in Application:getWindow() method which is added for multiple browser support)
But in this new window the Query Parameter uuid
xxxx
is lost.

Is this a know issue !! Is there any way to avoid or handle this scenario !! Appriciate your help. Please let me know if I have to elaborate anything else to make this clearer.

  • thanks

I am using Vaadin 6

Nothing on it !!!

Yes, unfortunately Vaadin 6 is known to have concurrency issues like that, although I’m not sure if this specific scenario has been reported before. Vaadin 7 contains major improvements related to concurrent session access.

i have added one ticket for this
http://dev.vaadin.com/ticket/14612