If you want to build a cluster using Apache TomEE nodes, you need to edit the $TOMEE_HOME/conf/server.xml file. Then, find this line:
<Engine name="Catalina" defaultHost="localhost">
Insert a child node, like this:
<Cluster
className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
channelSendOptions="8">
<Manager
className="org.apache.catalina.ha.session
.DeltaManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"/>
<Channel
className="org.apache.catalina.tribes.group
.GroupChannel">
<Membership
className="org.apache.catalina
.tribes.membership .McastService"
address="228.0.0.4"
port="45564"
frequency="500"
dropTime="3000"/>
<Receiver className="org.apache.catalina.tribes
.transport.nio.NioReceiver"
address="auto"
port="4000"
autoBind="100"
selectorTimeout="5000"
maxThreads="6"/>
<Sender className="org.apache.catalina.tribes
.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes
.transport.nio.PooledParallelSender"/>
</Sender>
<Interceptor className="org.apache.catalina.tribes
.group.interceptors.TcpFailureDetector"/>
<Interceptor className="org.apache.catalina.tribes
.group.interceptors.MessageDispatchInterceptor"/>
</Channel>
<Valve className="org.apache.catalina
.ha.tcp.ReplicationValve"
filter=""/>
<Valve className="org.apache.catalina
.ha.session.JvmRouteBinderValve"/>
<Deployer className="org.apache.catalina
.ha.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
<ClusterListener className="org.apache.catalina
.ha.session.ClusterSessionListener"/>
</Cluster>
This block will set up your server to run in a dynamic discovery cluster. What this means is that every server that runs in the same network using this configuration will become a new member in the cluster and so will share the alive sessions.
All these parameters are so important, so I really recommend you to keep all of them unless you are absolutely sure of what you are doing.