I have deployed a web application on weblogic 9.2mp3 in a clustering environment, my application supports clustering, in a mean that everything I set in the session is serializable and I use session.setAttribute() to set objects in the session, I have three servers and a proxy, when I access the application from the proxy everything is fine, suppose that I'm connecting now to Server1, if Server1 crashes, then it's supposed that the next request will be passed to another server from the proxy, this is what is happening, but the problem is that when Server1 crashes, the session becomes invalid and a new session is created and the request is redirected to the login page, can any one help me please? does server shut down causes session to be destroyed some how?if yes, then this is wrong and should not behave in this way, does anyone know how to prevent the session from being destroyed when one of the servers crashes???
Thank you for your reply, I use in-memory replication, session replication is happening fine, I know that because I can keep track to which server the user is connected in a given time, when the current server is overloaded, my proxy redirects the user to another server successfully without the need to log in again, but this does not happen if the current server crash(which should for sure).
I have three servers and a proxy, the configuration I did for weblogic is correct, but don't know what is missing that is causing this problem.
Bassam Shamekh wrote: but this does not happen if the current server crash(which should for sure).
Could you please elaborate a little more on this?
I mean when is session replication not happening.... I did not get the exact cause! M sorry for that
Joined: Feb 14, 2009
suppose that the user is currently connected to server1, some data concerning the user is set on the session(and the data is sreilizable), the session should be replicated to other servers meanwhile, suppose that the current session id is XXX, server1 crashes, so the next request will be passed by the proxy to server2 or server3, suppose the request was passed to server2, in server2 the session id must be exactly the same as the one that was in server1 and all the data that I set on the old session should be available for server2 when asking for those data, but what is happening is that the session id on server2 is different, the server for some reason created another session, the original session was not replicated to server2.