You can configure your native client application:
This section describes configuration on two levels, the system level and the cache level. System property settings describe your application’s behavior, while cache configuration describes data.
Programmatic configuration enables your client application to dynamically adapt to changing runtime conditions.
In contrast, XML configuration externalizes properties, such as locator addresses and pool connection details, so they can be changed without requiring that you recompile your application.
C++ RegionFactory Example
The following examples illustrate how to set a region’s expiration timeout attribute programmatically and through XML.
Setting a property programmatically:
auto regionFactory = cache.createRegionFactory(RegionShortcut::CACHING_PROXY); auto region = regionFactory.setRegionTimeToLive(ExpirationAction::INVALIDATE, std::chrono::seconds(120)) .create("exampleRegion0");
<region name="exampleRegion0" refid="CACHING_PROXY"> <region-attributes pool-name="default"> <region-time-to-live> <expiration-attributes timeout="120s" action="invalidate"/> </region-time-to-live> </region-attributes> </region>
See System Properties for a list of system properties that can be configured programmatically or in the
When redundancy is enabled, secondary servers maintain queue backups while the primary server pushes events to the client. If the primary server fails, one of the secondary servers steps in as primary to provide uninterrupted event messaging to the client. To configure high availability, set the
subscription-redundancy in the client’s pool configuration. This setting indicates the number of secondary servers to use. See the GemFire User Guide section Configuring Highly Available Servers for more details.