Chapter 17. Externalizing HTTP sessions from Red Hat JBoss Web Server to Red Hat Data Grid
Achieve high availability by externalizing HTTP session data from JBoss Web Server deployments to Data Grid Server clusters through the org.apache.catalina.Manager
interface.
17.1. Installing the Tomcat session client
Install the Tomcat session client to externalize HTTP sessions from Red Hat JBoss Web Server applications to Red Hat Data Grid.
Procedure
-
Download the
redhat-datagrid-8.1.1-tomcat<$version>-session-client.zip
archive from the Data Grid Software Downloads. - Extract the archive to your filesystem.
-
Copy the contents of the
lib/
directory from the extracted archive into$CATALINA_HOME/lib
.
17.2. Configuring the session manager
Configure the HotRodManager
class for the session manager to define how the Tomcat session client connects to Red Hat Data Grid Server and stores data in remote caches.
Prerequisites
- Install the Tomcat session client.
- Install at least one Data Grid Server instance.
- Create a cache on Data Grid Server to use as a template for storing HTTP session data.
Procedure
-
Open either
$CATALINA_HOME/conf/context.xml
or/WEB-INF/context.xml
for editing. -
Specify
org.wildfly.clustering.tomcat.hotrod.HotRodManager
as the value for theclassName
property. -
Specify the name of the cache to use as a template with the
configurationName
property. -
Define any other configuration properties for the
HotRodManager
class as appropriate. Set Hot Rod client configuration properties without the
infinispan.client.hotrod.
prefix.-
Specify the list of Data Grid Server nodes with the
server_list
property. -
Specify Data Grid credentials with the
auth_username
andauth_password
properties.
-
Specify the list of Data Grid Server nodes with the
- Specify common attributes for the Tomcat session manager as required.
-
Save and close
context.xml
.
Configuration example
<Manager className="org.wildfly.clustering.tomcat.hotrod.HotRodManager" configurationName="mycache" persistenceStrategy="FINE" maxActiveSessions="100" server_list="192.0.2.0:11222;192.0.2.0:11223;192.0.2.0:11224" protocol_version="2.9" auth_username="admin" auth_password="changeme" auth_realm="default" sasl_mechanism="DIGEST-MD5" auth_server_name="infinispan"/>
Verification
To verify that the Tomcat session client stores data in remote caches, do the following:
Open the Data Grid Console in any browser.
By default the console is available at
http://127.0.0.1:11222/console/
.- Check that the Tomcat session client has created caches for each deployed application.
17.2.1. Hot Rod manager configuration properties
The following table lists and describes configuration properties for the HotRodManager
class:
Property | Description |
---|---|
|
Specifies |
| Specifies a remote cache on Data Grid Server to use as a template for storing HTTP session data. |
| Defines how sessions map to entries in the cache.
|
| Defines the maximum number of sessions to store in the cache. The default is no maximum (limitless). |