A cluster with 2 nodes on different hosts (JBoss EAP 6.3)
Apache 2.2 with mod_cluster for load balancing.
We use JSF 2.1 for our web apps.
Sticky Sessions enabled.
Custom principal to extend session information, were we saved information that the user has to select (for example "a profile", for accessing the different web apps). To simplify that, we can think in terms of a "profile_id".
Scenario: User logs into our gateway web app (with login form). Then he chooses the profile he is going to use. At this ponit we set the profile_id into our custom principal.
After that we configure his start screen for the selected profile and let the user navigate to different web apps. The different web apps knows the profile the user selected, because they get it from the custom principal.
That works OK when we have only 1 node, but when we have 2 nodes the next behavior happens:
When the user logs into our gateway app and select his profile, the node 1 is processing the requests. When he navigates from his start screen to another web app, the node 2 is processing the requests and in the last web app the profile_id (gets from the custom principal) is null.
So, is the stickiness broken ? is the session replication broken ? Are we doing something the wrong way ?
Could you guys point us into the right direction ? Is it correct to set info into the custom principal in a clustered environment ?