This topic explains how to change the default VMware Tanzu GemFire configuration in the AppServers extension.
By default, the AppServers extension runs Tanzu GemFire automatically with preconfigured settings. You can change these Tanzu GemFire settings.
Default settings:
gemfire_modules_sessions
.Note: On the application server side, the default inactive interval for session expiration is set to 30 minutes. To change this value, see instructions in Session Expiration.
You may want to change the default configuration. For example, you might want to change the region from “replicated” to “partitioned.” The following section describes how to change the configuration values.
Note: You cannot override region attributes on the cache server when using the HTTP Session Management Extension. You must place all region attribute definitions in the region attributes template that you customize in your application server. For more information, see Overriding Region Attributes.
To edit Tanzu GemFire system properties, you must add properties to Tanzu GemFire Session Filter definition in the application’s web.xml file. You can do this by using the -p
option top the modify_war
script. You should prefix all Tanzu GemFire system properties with the string gemfire.property. For example:
<filter>
<filter-name>gemfire-session-filter</filter-name>
<filter-class>
org.apache.geode.modules.session.filter.SessionCachingFilter
</filter-class>
<init-param>
<param-name>cache-type</param-name>
<param-value>client-server</param-value>
</init-param>
<init-param>
<param-name>gemfire.property.locators</param-name>
<param-value>hostname[10334]</param-value>
</init-param>
<init-param>
<param-name>gemfire.property.cache-xml-file</param-name>
<param-value>/u01/weblogic/conf/cache.xml</param-value>
</init-param>
</filter>
This example specifies that the file name for Tanzu GemFire’s cache XML configuration is cache-peer.xml
.
The list of configurable server.xml
system properties include any of the properties that can be specified in Tanzu GemFire’s gemfire.properties
file. The following list contains commonly-configured parameters.
Parameter | Description | Default |
---|---|---|
cache-xml-file | Name of the cache configuration file. | cache-peer.xml for peer-to-peer, cache-client.xml for client/server |
locators (only for peer-to-peer config) | Required. List of locators (host[port]) used by Tanzu GemFire members. If a single locator listens on its default port, then set this value to "localhost[10334]" . |
Empty string |
log-file | Name of the Tanzu GemFire log file. | gemfire_modules.log |
statistic-archive-file | Name of the Tanzu GemFire statistics file. | gemfire_modules.gfs |
statistic-sampling-enabled | Whether Tanzu GemFire statistics sampling is enabled. | false |
In addition to the standard Tanzu GemFire system properties, the following cache-specific properties can also be configured.
Parameter | Description | Default |
---|---|---|
criticalHeapPercentage | Percentage of heap at which updates to the cache are refused. | 0 (deactivated) |
evictionHeapPercentage | Percentage of heap at which session eviction begins. | 80.0 |
rebalance | Whether a rebalance of the cache should be done when the application server instance is started. | false |
Although these properties are not part of the standard Tanzu GemFire system properties, they apply to the entire JVM instance. For more information about managing the heap, see Managing Heap and Off-heap Memory.
Note: The Tanzu GemFire cluster is a singleton within the entire application server JVM. You should ensure that different web applications, within the same container, set or expect the same cache configuration. When the application server starts, the first web application to start that uses Tanzu GemFire Session Caching determines the overall configuration of the cluster because it triggers the creation of the cluster.
To edit Tanzu GemFire cache properties, such as the name and the characteristics of the cache region, you must use a filter initialization parameter prefix of gemfire.cache
with the modify_war
script. For example:
-p gemfire.cache.region_name=custom_sessions
<filter>
<filter-name>gemfire-session-filter</filter-name>
<filter-class>
org.apache.geode.modules.session.filter.SessionCachingFilter
</filter-class>
<init-param>
<param-name>cache-type</param-name>
<param-value>peer-to-peer</param-value>
</init-param>
<init-param>
<param-name>gemfire.cache.region_name</param-name>
<param-value>custom_sessions</param-value>
</init-param>
</filter>
The following parameters are the cache configuration parameters that can be added to the filter definition as initialization parameters.
true
, info-level messages are logged to the Tanzu GemFire log when sessions are created, updated, invalidated, or expired.
Default: false
The Tanzu GemFire API equivalent to setting this parameter:
// Create factory
AttributesFactory factory = ...;
<or> RegionFactory factory = ...;
// Add cache listener
factory.addCacheListener(new DebugCacheListener());
true
, the app server load balancer should be configured for sticky session mode.
Default: false
for peer-to-peer, true
for client/server
The Tanzu GemFire API equivalent to setting this parameter:
// For peer-to-peer members:
Cache.createRegionFactory(REPLICATE_PROXY)
// For client members:
ClientCache.createClientRegionFactory(CACHING_PROXY_HEAP_LRU)
Default: REPLICATE for peer-to-peer, PARTITION_REDUNDANT for client/server
The Tanzu GemFire API equivalent to setting this parameter:
// Creates a region factory for the specified region shortcut
Cache.createRegionFactory(regionAttributesId);
Default: gemfire_modules_sessions
The Tanzu GemFire API equivalent to setting this parameter:
// Creates a region with the specified name
RegionFactory.create(regionName);
Default: delta_queued
Delta replication can be configured to occur immediately when HttpSession.setAttribute() is called (delta_immediate) or when the HTTP request has completed processing (delta_queued). If the latter mode is configured, all attribute updates for a particular request are “batched” and multiple updates to the same attribute are collapsed. Depending on the number of attributes updates within a given request, delta_queued may provide a significant performance gain. For complete session attribute integrity across the cache, VMware recommends that you use delta_immediate. This option is specific to this extension and there is no equivalent Tanzu GemFire API to enable it.
For additional information about changing the default VMware Tanzu GemFire in Session Management for AppServers, see Common Tanzu GemFire Configuration Changes for AppServers.