The official stance on Clustering and HA for GlassFish 4.1 open source edition is;
"These features are included in the release, but they may not function properly with some of the new features added in support of the Java EE 7 platform.”
With that in mind and the low activity on the Shoal development repo we decided to integrate Hazelcast into the core of Payara to provide robust session clustering and in the future our JSR107 JCache implementation.
What is Hazelcast?To quote from the source Hazelcast is an In-memory Data Grid. A Data Grid provides resilient, scalable, in-memory clustered storage for Java objects. Therefore Hazelcast is ideally suited for building a resilient session store.
So how do I use it in Payara Server?
Our latest Jenkins builds now have Hazelcast built in but disabled by default so there's no installation required. In this example video we will create a 2 node cluster, deploy a cluster test application and demonstrate session persistence while we restart the whole cluster.