I am unable to get in memory session data replication to consistently work in my Glassfish 2.1 cluster.
The setup is three Solaris 10 machines. One box with Apache. Another box with the DAS
and instances A and C. A third box with instances B and D. Each instance has its
own node agent. The four instances are in cluster "tst_cl".
My testing procedure is to go to
http://appweb0.its.unc.edu/clusterjsp and add a few variables.
Then, thru the DAS, I stop the "Served From Server instance". After adding another variable on
clusterjsp, the "Served From Server instance", "Session ID", and "Session Created" values all
change. Only my last variable is listed in "Data retrieved from the HttpSession".
Sometimes bouncing everything (shutting everything down and then restarting) temporarily
fixes session data replication - usually not.
Sometimes changing the Heartbeat Port and Heartbeat Address fixes session data replication -
usually not. (Clusters -> tst_cl -> General)
Things I have checked
1 - the web server and app servers are all in the same subnet
2 - Time is the same on web server and app servers
3 - Heartbeat is enabled for the cluster
Cluster -> tst_cl -> General
4 - Availability is enabled for the clusterjsp application
Cluster -> tst_cl -> Applications -> clusterjsp
5 - Clusterjsp is load balanced enabled
Cluster -> tst_cl -> Applications (both Enabled and LB Enabled are true)
6 - Instances are load balanced enabled
cluster -> tst_cl -> Instances ( LB Enabled is true for all 4 instances )
7 - Availability Service is enabled in the clusters configuration in the Availability Service tab,
the Web Container Availability tab and the EJB Container Availability tab
Configurations -> tst_cl-config -> Availability Service
Configurations -> tst_cl-config -> Availability Service -> Web Container Availability
Configurations -> tst_cl-config -> Availability Service -> EJB Container Availability
8 - Setting for Web Container
Availability Service: enabled
Persistence Type: replicated (I have experimented with "memory" but that has never worked.)
Persistence Frequency: web-method
Persistence Scope: session
Single-Sign-On State: not enabled ( These 3 should not be
HTTP Session Store: jdbc/hastore relevant. Only included
Persistence Store Health Check: not enabled for completeness )
Configurations -> tst_cl-config -> Availability Service -> Web Container Availability tab
9 - The HTTP Load Balancer (tst_lb) targets the tst_cl cluster
HTTP Load Balancers -> tst_lb -> Target -> Target Name equals tst_cl
Also, clicking on "1 of 1 Application(s) Enabled" takes me to the Applications tab on Clusters > tst_cl
My software was downloaded from
http://java.sun.com/javaee/downloads/index.jsp "GlassFish/App
Platform + JDK". Clustering was enabled after installation. I'm using the download's clusterjsp.
I've also had a session data replication problem using Sun GlassFish Enterprise Server v2.1.
Any ideas?
[Message sent by forum member 'updmst' (updmst)]
http://forums.java.net/jive/thread.jspa?messageID=341994