HTTP Session Replication
Internal
Overview
The web application will be clustered if its web.xml contains the <distributable> tag:
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <distributable/> <!-- ... --> </web-app>
From a server's perspective, <distributable> tells it to use a clustered session manager, which replicates (or distributes) sessions across the cluster, so all EAP nodes can have access to it. This way if a node fails, requests can be directed to other node, which still has access to the session state.
The sever also must to be configured to support HTTP session clustering, see WildFly Server Configuration below.
WildFly-Specific Configuration
WildFly-specific HTTP session replication configuration can be specified in jboss-web.xml in the <replication-config> section:
<jboss-web> ... <replication-config> <cache-name>web.repl</cache-name> <cache-name>${app.cache.container.name}.${app.cache.name}</cache-name> <replication-trigger>SET</replication-trigger> <replication-granularity>SESSION</replication-granularity> </replication-config> ... </jboss-web>
System Properties Usage
jboss-web.xml supports the usage of system properties, whose references will be replaced at deployment time with values defined in the application server's JVM. As an example, the name of the cache container and the cache name can be specified as system properties as follows:
... <replication-config> <cache-name>${app.cache.container.name}.${app.cache.name}</cache-name> ... </replication-config> ...
For more details on system properties usage in jboss-web.xml, see: