Red Hat Training

A Red Hat training course is available for JBoss Enterprise Application Platform Common Criteria Certification

22.2.3. Configuring the JBoss Cache instance used for session state replication

The container for a distributable web application makes use of JBoss Cache to provide HTTP session replication services around the cluster. The container integrates with the CacheManager service to obtain a reference to a JBoss Cache instance (see Section 18.2.1, “The JBoss Enterprise Application Platform CacheManager Service”).
The name of the JBoss Cache configuration to use is controlled by the cacheName element in the application's jboss-web.xml (see Section 22.2.1, “Enabling session replication in your application”). In most cases, though, this does not need to be set as the default values of standard-session-cache and field-granularity-session-cache (for applications configured for FIELD granularity) are appropriate.
The JBoss Cache configurations in the CacheManager service expose a number of options. See Chapter 26, JBoss Cache Configuration and Deployment and the JBoss Cache documentation for a more complete discussion. The standard-session-cache and field-granularity-session-cache configurations are already optimized for the web session replication use case, and most of the settings should not be altered. Administrators may be interested in altering the following settings:
  • cacheMode
    The default is REPL_ASYNC, which specifies that a session replication message sent to the cluster does not wait for responses from other cluster nodes confirming that the message has been received and processed. The alternative mode, REPL_SYNC, offers a greater degree of confirmation that session state has been received, but reduces performance significantly. See Section 26.1.2, “Cache Mode” for further details.
  • enabled property in the buddyReplicationConfig section
    Set to true to enable buddy replication. See Section 26.1.8, “Buddy Replication”. Default is false.
  • numBuddies property in the buddyReplicationConfig section
    Set to a value greater than the default (1) to increase the number of backup nodes onto which sessions are replicated. Only relevant if buddy replication is enabled. See Section 26.1.8, “Buddy Replication”.
  • buddyPoolName property in the buddyReplicationConfig section
    A way to specify a preferred replication group when buddy replication is enabled. JBoss Cache tries to pick a buddy who shares the same pool name (falling back to other buddies if not available). Only relevant if buddy replication is enabled. See Section 26.1.8, “Buddy Replication”.
  • multiplexerStack
    Name of the JGroups protocol stack the cache should use. See Section 18.1.1, “The Channel Factory Service”.
  • clusterName
    Identifying name JGroups will use for this cache's channel. Only change this if you create a new cache configuration, in which case this property should have a different value from all other cache configurations.
If you wish to use a completely new JBoss Cache configuration rather than editing one of the existing ones, please see Section 26.2.1, “Deployment Via the CacheManager Service”.