We're using the following layout schema for our application:
weblogic 10.3 with Oracle 11 and Apache server for the UI layout.
Our application is working on 2 clusters.
We're facing some issues with our session replication.
For some reason when both of our clusters are up and running we're not able to login to the application because of session expiration.
When only one cluster is up then everything is working ok.
Our weblogic.xml definition is:
Also the behaviour is inconsistent and sometime it can happend after few hours.
Do you know what could be the cause of that?
I am having a similar issue, but no resolution. I am curious though, where is your weblogic.xml file located in the weblogic file structure. I don't have such a file, but would interested in testing your current solution.
Apply DebugHttpSessions debug either from Console by navigating to Server > Debug > weblogic - servlet - internal - session ; or set the following java option in the startup script.
This would help you track the session activity for all the sessions on the WLS backend servers. First find your own session id either by looking at the cookie set on the browser or through any http traces gathered from tools like Fiddler. Following the same, search for that specific session indicated by the JSESSIONID in the server logs to see what happened to it. This way you would also be able to understand who or what invalidated the session and why it was invalidated.
Thanks for the answer!
I've checked it out but unfortunately the log doesn't contains anything useful :(
Also , I've forgot to mentioned that if I'm working directly against the Weblogic server (without the Apachee) then everything is working ok.
we also have LBA in front of our apache servers. While working directly with LBA and apache server we are getting this error.
Is this information useful?
I think its working as design because the session replication is per cluster basis.You can take a look at the below documentation about the HTTP Session State Replication and its requirement.
Note: Requirements for HTTP Session State Replication
To utilize in-memory replication for HTTP session states, you must access the WebLogic Server cluster using either a collection of Web servers with identically configured WebLogic proxy plug-ins, or load balancing hardware.
I assume,you are trying to achieve cross clustering and for that below are the per-requisite
Session State Replication Across Clusters
In addition to providing HTTP session state replication across servers within a cluster, WebLogic server provides the ability to replicate HTTP session state across multiple clusters. This improves high-availability and fault tolerance by allowing clusters to be spread across multiple geographic regions, power grids, and internet service providers. This section discusses the two mechanisms for cross-cluster replication supported by WebLogic Server:
Network Requirements for Cross-cluster Replication
Configuration Requirements for Cross-Cluster Replication
MAN HTTP Session State Replication
WAN HTTP Session State Replication
Edited by: 809364 on Nov 1, 2012 5:22 AM
Rather debugging within the application - check with a sample application, whether the session is getting replicated or not.
1. Instead of In Memory Replication, Configure for JDBC and check whether the sessions are getting saved in the database.
2. If this works fine, cluster is configured perfectly.
3. If you have configured CAS for login, then there are some other configurations needs to be done for this to work.
4. Ensure that, value set in the the session object is once again set in the setSession method.
Edited by: user10819094 on Nov 6, 2012 2:19 PM