blob: f8d7b25d4a0ef37632dc19f6250b4ba429f64b8c [file] [log] [blame]
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<!-- Always force latest IE rendering engine or request Chrome Frame -->
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
<link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
<!-- Use title if it's in the page YAML frontmatter -->
<title>
&lt;cache&gt; Element Reference |
Geode Docs
</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
<link href="/stylesheets/print.css" rel="stylesheet" media="print" />
<link href='/images/favicon.ico' rel='shortcut icon'>
<script src="/javascripts/all.js"></script>
</head>
<body class="docs docs_guide docs_guide_15 docs_guide_15_reference docs_guide_15_reference_topics docs_guide_15_reference_topics_cache_xml has-subnav">
<div class="viewport">
<div class='wrap'>
<script type="text/javascript">
document.domain = "apache.org";
</script>
<header class="header header-layout">
<h1 class="logo">
<a href="/">Apache Geode Documentation</a>
</h1>
<div class="header-links js-bar-links">
<div class="btn-menu" data-behavior="MenuMobile"></div>
<div class="header-item"><a href="http://geode.apache.org/">Back to Geode Page</a></div>
<div class="header-item">
<a href="http://geode.apache.org/community" target="_blank">Community</a>
</div>
</div>
</header>
<div class="container">
<!--googleoff: index-->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
<a class="sidenav-title" data-behavior="SubMenuMobile">
Doc Index
</a>
<div class="nav-content">
<ul>
<li>
<a href="/docs/guide/15/about_geode.html">Apache Geode Documentation</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/getting_started/book_intro.html">Getting Started with Apache Geode</a>
<ul>
<li>
<a href="/docs/guide/15/getting_started/geode_overview.html">About Apache Geode</a>
</li>
<li>
<a href="/docs/guide/15/getting_started/product_intro.html">Main Features of Apache Geode</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/prereq_and_install.html">Prerequisites and Installation Instructions</a>
<ul>
<li>
<a href="/docs/guide/15/getting_started/system_requirements/host_machine.html">Host Machine Requirements</a>
</li>
<li>
<a href="/docs/guide/15/getting_started/installation/install_standalone.html">How to Install</a>
</li>
<li>
<a href="/docs/guide/15/getting_started/setup_classpath.html">Setting Up the CLASSPATH</a>
</li>
<li>
<a href="/docs/guide/15/getting_started/uninstall_geode.html">How to Uninstall</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/getting_started/15_minute_quickstart_gfsh.html">Apache Geode in 15 Minutes or Less</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/configuring/chapter_overview.html">Configuring and Running a Cluster</a>
<ul>
<li>
<a href="/docs/guide/15/configuring/cluster_config/gfsh_persist.html">Overview of the Cluster Configuration Service</a>
</li>
<li>
<a href="/docs/guide/15/configuring/cluster_config/persisting_configurations.html">Tutorial—Creating and Using a Cluster Configuration</a>
</li>
<li>
<a href="/docs/guide/15/configuring/cluster_config/deploying_application_jars.html">Deploying Application JARs to Apache Geode Members</a>
</li>
<li>
<a href="/docs/guide/15/configuring/cluster_config/using_member_groups.html">Using Member Groups</a>
</li>
<li>
<a href="/docs/guide/15/configuring/cluster_config/export-import.html">Exporting and Importing Cluster Configurations</a>
</li>
<li>
<a href="/docs/guide/15/configuring/cluster_config/gfsh_config_troubleshooting.html">Cluster Configuration Files and Troubleshooting</a>
</li>
<li>
<a href="/docs/guide/15/configuring/cluster_config/gfsh_load_from_shared_dir.html">Loading Existing Configuration Files into Cluster Configuration</a>
</li>
<li>
<a href="/docs/guide/15/configuring/cluster_config/gfsh_remote.html">Using gfsh to Manage a Remote Cluster Over HTTP or HTTPS</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/configuring/running/deploying_config_files.html">Deploying Configuration Files without the Cluster Configuration Service</a>
<ul>
<li>
<a href="/docs/guide/15/configuring/running/deploy_config_files_intro.html">Main Steps to Deploying Configuration Files</a>
</li>
<li>
<a href="/docs/guide/15/configuring/running/default_file_specs.html">Default File Specifications and Search Locations</a>
</li>
<li>
<a href="/docs/guide/15/configuring/running/change_file_spec.html">Changing the File Specifications</a>
</li>
<li>
<a href="/docs/guide/15/configuring/running/deploying_config_jar_files.html">Deploying Configuration Files in JAR Files</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/configuring/running/starting_up_shutting_down.html">Starting Up and Shutting Down Your System</a>
</li>
<li>
<a href="/docs/guide/15/configuring/running/running_the_locator.html">Running Geode Locator Processes</a>
</li>
<li>
<a href="/docs/guide/15/configuring/running/running_the_cacheserver.html">Running Geode Server Processes</a>
</li>
<li>
<a href="/docs/guide/15/configuring/running/managing_output_files.html">Managing System Output Files</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/configuring/running/firewall_ports_config.html">Firewall Considerations</a>
<ul>
<li>
<a href="/docs/guide/15/configuring/running/firewalls_connections.html">Firewalls and Connections</a>
</li>
<li>
<a href="/docs/guide/15/configuring/running/firewalls_ports.html">Firewalls and Ports</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/basic_config/book_intro.html">Basic Configuration and Programming</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/basic_config/config_concepts/chapter_overview.html">
Distributed System and Cache Configuration</a>
<ul>
<li>
<a href="/docs/guide/15/basic_config/config_concepts/distributed_system_member_configuration.html">Distributed System Members</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/gemfire_properties/setting_distributed_properties.html">Setting Properties</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/the_cache/setting_cache_properties.html">Options for Configuring the Cache and Data Regions
</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/config_concepts/local_vs_remote.html">Local and Remote Membership and Caching</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/basic_config/the_cache/chapter_overview.html">Cache Management</a>
<ul>
<li>
<a href="/docs/guide/15/basic_config/the_cache/intro_cache_management.html">Introduction to Cache Management</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/the_cache/managing_a_peer_server_cache.html">Managing a Peer or Server Cache</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/the_cache/managing_a_client_cache.html">Managing a Client Cache</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/the_cache/managing_a_secure_cache.html">Managing a Cache in a Secure System</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/the_cache/managing_a_multiuser_cache.html">Managing RegionServices for Multiple Secure Users</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/the_cache/setting_cache_initializer.html">Launching an Application after Initializing the Cache</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/basic_config/data_regions/chapter_overview.html">Data Regions</a>
<ul>
<li>
<a href="/docs/guide/15/basic_config/data_regions/managing_data_regions.html">Region Management</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/data_regions/region_naming.html">Region Naming</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/data_regions/region_shortcuts.html">Region Shortcuts and Custom Named Region Attributes</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/data_regions/store_retrieve_region_shortcuts.html">Storing and Retrieving Region Shortcuts and Custom Named Region Attributes</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/data_regions/managing_region_attributes.html">Managing Region Attributes</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/data_regions/creating_custom_attributes.html">Creating Custom Attributes for Regions and Entries</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/data_regions/new_region_existing_data.html">Building a New Region with Existing Content</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/basic_config/data_entries_custom_classes/chapter_overview.html">
Data Entries
</a>
<ul>
<li>
<a href="/docs/guide/15/basic_config/data_entries_custom_classes/managing_data_entries.html">Managing Data Entries</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/data_entries_custom_classes/using_custom_classes.html">Requirements for Using Custom Classes in Data Caching</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/topologies_and_comm/book_intro.html">Topologies and Communication</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/chapter_overview.html">Topology and Communication General Concepts</a>
<ul>
<li>
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/topology_types.html">Topology Types</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/member_communication.html">Planning Topology and Communication
</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/how_member_discovery_works.html">How Member Discovery Works</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/how_communication_works.html">How Communication Works</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/using_bind_addresses.html">Using Bind Addresses</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/IPv4_and_IPv6.html">Choosing Between IPv4 and IPv6</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/topologies_and_comm/p2p_configuration/chapter_overview.html">Peer-to-Peer Configuration</a>
<ul>
<li>
<a href="/docs/guide/15/topologies_and_comm/p2p_configuration/setting_up_a_p2p_system.html">Configuring Peer-to-Peer Discovery</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/p2p_configuration/setting_up_peer_communication.html">Configuring Peer Communication</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/p2p_configuration/configuring_peer_member_groups.html">Organizing Peers into Logical Member Groups</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/topologies_and_comm/cs_configuration/chapter_overview.html">Client/Server Configuration</a>
<ul>
<li>
<a href="/docs/guide/15/topologies_and_comm/cs_configuration/standard_client_server_deployment.html">Standard Client/Server Deployment</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/how_server_discovery_works.html">How Server Discovery Works</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/how_the_pool_manages_connections.html">How Client/Server Connections Work</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/cs_configuration/setting_up_a_client_server_system.html">Configuring a Client/Server System</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/cs_configuration/configure_servers_into_logical_groups.html">Organizing Servers Into Logical Member Groups</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/cs_configuration/client_server_example_configurations.html">Client/Server Example Configurations</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/cs_configuration/client_server_whats_next.html">Fine-Tuning Your Client/Server Configuration</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/topologies_and_comm/multi_site_configuration/chapter_overview.html">Multi-site (WAN) Configuration</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/how_multisite_systems_work.html">How Multi-site (WAN) Systems Work</a>
<ul>
<li>
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/multisite_overview.html#topic_70045702D3994BC692E75102CE01BD7C">
Overview of Multi-site Caching</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/multisite_overview.html#topic_C74A0961937640B199396DC925D8D782">Consistency for WAN Updates</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/multisite_overview.html#topic_1742957C8D4B4F7590847EB8DB6CD4F7">Discovery for Multi-Site Systems</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/multisite_overview.html#topic_9AA37B43642D4DE19072CA3367C849BA">Gateway Senders</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/multisite_overview.html#topic_4DB3D9CF01AD4F4899457D1250468D00">Gateway Receivers</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/multi_site_configuration/multisite_topologies.html">Multi-site (WAN) Topologies</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/multi_site_configuration/setting_up_a_multisite_system.html">Configuring a Multi-site (WAN) System</a>
</li>
<li>
<a href="/docs/guide/15/developing/events/filtering_multisite_events.html">Filtering Events for Multi-Site (WAN) Distribution</a>
</li>
<li>
<a href="/docs/guide/15/developing/events/resolving_multisite_conflicts.html">Resolving Conflicting Events</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/book_intro.html">Managing Apache Geode</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/managing/management/management_and_monitoring.html">Apache Geode Management and Monitoring</a>
<ul>
<li>
<a href="/docs/guide/15/managing/management/management_and_monitoring_features.html">Management and Monitoring Features</a>
</li>
<li>
<a href="/docs/guide/15/managing/management/mm_overview.html">Overview of Geode Management and Monitoring Tools</a>
</li>
<li>
<a href="/docs/guide/15/managing/management/management_system_overview.html">
Architecture and Components</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/management/jmx_manager_node.html#topic_36C918B4202D45F3AC225FFD23B12D7C">JMX Manager Operations</a>
<ul>
<li>
<a href="/docs/guide/15/managing/management/jmx_manager_operations.html">Starting a JMX Manager</a>
</li>
<li>
<a href="/docs/guide/15/managing/management/jmx_manager_operations.html#topic_263072624B8D4CDBAD18B82E07AA44B6">Configuring a JMX Manager</a>
</li>
<li>
<a href="/docs/guide/15/managing/management/jmx_manager_operations.html#topic_5B6DF783A14241399DC25C6EE8D0048A">Stopping a JMX Manager</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/management/mbean_architecture.html">Federated MBean Architecture</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/managing/management/list_of_mbeans.html">List of Geode JMX MBeans</a>
<ul>
<li>
<a href="/docs/guide/15/managing/management/list_of_mbeans_full.html">JMX Manager MBeans</a>
</li>
<li>
<a href="/docs/guide/15/managing/management/list_of_mbeans_full.html#topic_48194A5BDF3F40F68E95A124DD702413">Managed Node MBeans</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/managing/management/mbeans_jconsole.html">Browsing Geode MBeans through JConsole</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/management/mbean_notifications.html">Geode JMX MBean Notifications</a>
<ul>
<li>
<a href="/docs/guide/15/managing/management/notification_federation_and_alerts.html">Notification Federation</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/management/list_of_mbean_notifications.html">List of JMX MBean Notifications</a>
<ul>
<li>
<a href="/docs/guide/15/managing/management/list_of_mbean_notifications.html#reference_czt_hq2_vj">MemberMXBean Notifications</a>
</li>
<li>
<a href="/docs/guide/15/managing/management/list_of_mbean_notifications.html#reference_dzt_hq2_vj">MemberMXBean Gateway Notifications</a>
</li>
<li>
<a href="/docs/guide/15/managing/management/list_of_mbean_notifications.html#cacheservermxbean_notifications">CacheServerMXBean Notifications</a>
</li>
<li>
<a href="/docs/guide/15/managing/management/list_of_mbean_notifications.html#distributedsystemmxbean_notifications">DistributedSystemMXBean Notifications</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/managing/management/configuring_rmi_connector.html">Configuring RMI Registry Ports and RMI Connectors</a>
</li>
<li>
<a href="/docs/guide/15/managing/management/gfsh_and_management_api.html">Executing gfsh Commands through the Management API</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/heap_use/heap_management.html">Managing Heap and Off-heap Memory</a>
<ul>
<li>
<a href="/docs/guide/15/managing/heap_use/heap_management.html#section_590DA955523246ED980E4E351FF81F71">Tuning the JVM's Garbage Collection Parameters</a>
</li>
<li>
<a href="/docs/guide/15/managing/heap_use/heap_management.html#how_the_resource_manager_works">Using the Geode Resource Manager</a>
</li>
<li>
<a href="/docs/guide/15/managing/heap_use/heap_management.html#configuring_resource_manager_controlling_heap_use">Controlling Heap Use with the Resource Manager</a>
</li>
<li>
<a href="/docs/guide/15/managing/heap_use/heap_management.html#configuring_resource_manager__section_4949882892DA46F6BB8588FA97037F45">Configure Geode for Heap LRU Management</a>
</li>
<li>
<a href="/docs/guide/15/managing/heap_use/heap_management.html#set_jvm_gc_tuning_params">Set the JVM GC Tuning Parameters</a>
</li>
<li>
<a href="/docs/guide/15/managing/heap_use/heap_management.html#configuring_resource_manager__section_DE1CC494C2B547B083AA00821250972A">Monitor and Tune Heap LRU Configurations</a>
</li>
<li>
<a href="/docs/guide/15/managing/heap_use/heap_management.html#resource_manager_example_configurations">Resource Manager Example Configurations</a>
</li>
<li>
<a href="/docs/guide/15/managing/heap_use/off_heap_management.html">Managing Off-Heap Memory</a>
</li>
<li>
<a href="/docs/guide/15/managing/heap_use/lock_memory.html">Locking Memory (Linux Systems Only)</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/disk_storage/chapter_overview.html">Disk Storage</a>
<ul>
<li>
<a href="/docs/guide/15/managing/disk_storage/how_disk_stores_work.html">How Disk Stores Work</a>
</li>
<li>
<a href="/docs/guide/15/managing/disk_storage/file_names_and_extensions.html">Disk Store File Names and Extensions</a>
</li>
<li>
<a href="/docs/guide/15/managing/disk_storage/operation_logs.html">Disk Store Operation Logs</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/disk_storage/overview_using_disk_stores.html">Configuring Disk Stores</a>
<ul>
<li>
<a href="/docs/guide/15/managing/disk_storage/using_disk_stores.html">Designing and Configuring Disk Stores</a>
</li>
<li>
<a href="/docs/guide/15/managing/disk_storage/disk_store_configuration_params.html">Disk Store Configuration Parameters</a>
</li>
<li>
<a href="/docs/guide/15/managing/disk_storage/using_the_default_disk_store.html">Modifying the Default Disk Store</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/managing/disk_storage/optimize_availability_and_performance.html">
Optimizing a System with Disk Stores</a>
</li>
<li>
<a href="/docs/guide/15/managing/disk_storage/starting_system_with_disk_stores.html">Start Up and Shut Down with Disk Stores</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/disk_storage/managing_disk_stores.html">Disk Store Management</a>
<ul>
<li>
<a href="/docs/guide/15/managing/disk_storage/managing_disk_stores_cmds.html">Disk Store Management Commands and Operations</a>
</li>
<li>
<a href="/docs/guide/15/managing/disk_storage/validating_disk_store.html">Validating a Disk Store</a>
</li>
<li>
<a href="/docs/guide/15/managing/disk_storage/compacting_disk_stores.html">Running Compaction on Disk Store Log Files</a>
</li>
<li>
<a href="/docs/guide/15/managing/disk_storage/keeping_offline_disk_store_in_sync.html">Keeping a Disk Store Synchronized with the Cache</a>
</li>
<li>
<a href="/docs/guide/15/managing/disk_storage/disk_free_space_monitoring.html">Configuring Disk Free Space Monitoring
</a>
</li>
<li>
<a href="/docs/guide/15/managing/disk_storage/handling_missing_disk_stores.html">Handling Missing Disk Stores</a>
</li>
<li>
<a href="/docs/guide/15/managing/disk_storage/managing_disk_buffer_flushes.html">Altering When Buffers Are Flushed to Disk</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/managing/disk_storage/backup_restore_disk_store.html">Creating Backups for System Recovery and Operational Management</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/cache_snapshots/chapter_overview.html">Cache and Region Snapshots</a>
<ul>
<li>
<a href="/docs/guide/15/managing/cache_snapshots/using_cache_and_region_snapshots.html">Usage and Performance Notes</a>
</li>
<li>
<a href="/docs/guide/15/managing/cache_snapshots/exporting_a_snapshot.html">Exporting Cache and Region Snapshots</a>
</li>
<li>
<a href="/docs/guide/15/managing/cache_snapshots/importing_a_snapshot.html">Importing Cache and Region Snapshots</a>
</li>
<li>
<a href="/docs/guide/15/managing/cache_snapshots/filtering_snapshot_entries.html">Filtering Entries During Import or Export</a>
</li>
<li>
<a href="/docs/guide/15/managing/cache_snapshots/read_snapshots_programmatically.html">Reading Snapshots Programmatically</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/region_compression.html">Region Compression</a>
<ul>
<li>
<a href="/docs/guide/15/managing/region_compression.html#concept_a2c_rhc_gl">Guidelines on Using Compression</a>
</li>
<li>
<a href="/docs/guide/15/managing/region_compression.html#topic_inm_whc_gl">How to Enable Compression in a Region</a>
</li>
<li>
<a href="/docs/guide/15/managing/region_compression.html#topic_hqf_syj_g4">Working with Compressors
</a>
</li>
<li>
<a href="/docs/guide/15/managing/region_compression.html#topic_omw_j3c_gl">Comparing Performance of Compressed and Non-Compressed Regions</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/network_partitioning/chapter_overview.html">Network Partitioning</a>
<ul>
<li>
<a href="/docs/guide/15/managing/network_partitioning/how_network_partitioning_management_works.html">How Network Partitioning Management Works</a>
</li>
<li>
<a href="/docs/guide/15/managing/network_partitioning/failure_detection.html">Failure Detection and Membership Views</a>
</li>
<li>
<a href="/docs/guide/15/managing/network_partitioning/membership_coordinators_lead_members_and_weighting.html">Membership Coordinators, Lead Members and Member Weighting</a>
</li>
<li>
<a href="/docs/guide/15/managing/network_partitioning/network_partitioning_scenarios.html">Network Partitioning Scenarios</a>
</li>
<li>
<a href="/docs/guide/15/managing/network_partitioning/handling_network_partitioning.html">Configure Apache Geode to Handle Network Partitioning</a>
</li>
<li>
<a href="/docs/guide/15/managing/network_partitioning/preventing_network_partitions.html">Preventing Network Partitions</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/security/chapter_overview.html">Security</a>
<ul>
<li>
<a href="/docs/guide/15/managing/security/implementing_security.html">Security Implementation Introduction and Overview</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/security/security_audit_overview.html">Security Detail Considerations</a>
<ul>
<li>
<a href="/docs/guide/15/managing/security/security-audit.html">External Interfaces, Ports, and Services</a>
</li>
<li>
<a href="/docs/guide/15/managing/security/security-audit.html#topic_263072624B8D4CDBAD18B82E07AA44B6">Resources That Must Be Protected</a>
</li>
<li>
<a href="/docs/guide/15/managing/security/security-audit.html#topic_5B6DF783A14241399DC25C6EE8D0048A">Log File Locations</a>
</li>
<li>
<a href="/docs/guide/15/managing/security/properties_file.html">Where to Place Security Configuration Settings</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/managing/security/enable_security.html">Enable Security with Property Definitions</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/security/authentication_overview.html">Authentication</a>
<ul>
<li>
<a href="/docs/guide/15/managing/security/implementing_authentication.html">Implementing Authentication</a>
</li>
<li>
<a href="/docs/guide/15/managing/security/authentication_examples.html">Authentication Example</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/security/authorization_overview.html">Authorization</a>
<ul>
<li>
<a href="/docs/guide/15/managing/security/implementing_authorization.html">Implementing Authorization</a>
</li>
<li>
<a href="/docs/guide/15/managing/security/authorization_example.html">Authorization Example</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/managing/security/post_processing.html">Post Processing of Region Data</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/security/ssl_overview.html">SSL</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/managing/security/implementing_ssl.html">Configuring SSL</a>
<ul>
<li>
<a href="/docs/guide/15/managing/security/implementing_ssl.html#ssl_configurable_components">SSL-Configurable Components</a>
</li>
<li>
<a href="/docs/guide/15/managing/security/implementing_ssl.html#ssl_configuration_properties">SSL Configuration Properties</a>
</li>
<li>
<a href="/docs/guide/15/managing/security/implementing_ssl.html#ssl_property_reference_tables">SSL Property Reference Tables</a>
</li>
<li>
<a href="/docs/guide/15/managing/security/implementing_ssl.html#implementing_ssl__sec_ssl_impl_proc">Procedure</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/managing/security/ssl_example.html">SSL Sample Implementation</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/monitor_tune/chapter_overview.html">Performance Tuning and Configuration</a>
<ul>
<li>
<a href="/docs/guide/15/managing/monitor_tune/disabling_tcp_syn_cookies.html">Disabling TCP SYN Cookies</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/performance_on_vsphere.html">Improving Performance on vSphere</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/monitor_tune/performance_controls.html">Performance Controls</a>
<ul>
<li>
<a href="/docs/guide/15/managing/monitor_tune/performance_controls_data_serialization.html">Data Serialization</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/performance_controls_setting_cache_timeouts.html">Setting Cache Timeouts</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/performance_controls_controlling_socket_use.html">Controlling Socket Use</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/performance_controls_managing_slow_receivers.html">Management of Slow Receivers</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/performance_controls_increasing_cache_hits.html">Increasing the Ratio of Cache Hits</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/monitor_tune/system_member_performance.html">System Member Performance</a>
<ul>
<li>
<a href="/docs/guide/15/managing/monitor_tune/system_member_performance_distributed_system_member.html">Distributed System Member Properties</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/system_member_performance_jvm_mem_settings.html">JVM Memory Settings and System Performance</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/system_member_performance_garbage.html">Garbage Collection and System Performance</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/system_member_performance_connection_thread_settings.html">Connection Thread Settings and Performance</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/monitor_tune/slow_receivers.html">Slow Receivers with TCP/IP</a>
<ul>
<li>
<a href="/docs/guide/15/managing/monitor_tune/slow_receivers_preventing_problems.html">Preventing Slow Receivers</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/slow_receivers_managing.html">Managing Slow Receivers</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/slow_messages.html">Slow distributed-ack Messages</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/monitor_tune/socket_communication.html">Socket Communication</a>
<ul>
<li>
<a href="/docs/guide/15/managing/monitor_tune/socket_communication_setting_socket_buffer_sizes.html">Setting Socket Buffer Sizes</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/socket_communication_ephemeral_tcp_port_limits.html">Ephemeral TCP Port Limits</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/socket_communication_have_enough_sockets.html">Making Sure You Have Enough Sockets</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/socket_tcp_keepalive.html">TCP/IP KeepAlive Configuration</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/socket_communication_tcpip_p2p_handshake_timeouts.html">TCP/IP Peer-to-Peer Handshake Timeouts</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/udp_communication.html">UDP Communication</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/monitor_tune/multicast_communication.html">Multicast Communication</a>
<ul>
<li>
<a href="/docs/guide/15/managing/monitor_tune/multicast_communication_provisioning_bandwidth.html">Provisioning Bandwidth for Multicast</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/multicast_communication_testing_multicast_speed_limits.html">Testing Multicast Speed Limits</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/multicast_communication_configuring_speed_limits.html">Configuring Multicast Speed Limits</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/multicast_communication_runtime_considerations.html">Run-time Considerations for Multicast</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/multicast_communication_troubleshooting.html">Troubleshooting the Multicast Tuning Process</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/cache_consistency.html">Maintaining Cache Consistency</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/logging/logging.html">Logging</a>
<ul>
<li>
<a href="/docs/guide/15/managing/logging/how_logging_works.html">How Geode Logging Works</a>
</li>
<li>
<a href="/docs/guide/15/managing/logging/logging_categories.html">Understanding Log Messages and Their Categories</a>
</li>
<li>
<a href="/docs/guide/15/managing/logging/logging_whats_next.html">Naming, Searching, and Creating Log Files</a>
</li>
<li>
<a href="/docs/guide/15/managing/logging/setting_up_logging.html">Set Up Logging</a>
</li>
<li>
<a href="/docs/guide/15/managing/logging/configuring_log4j2.html">Advanced Users—Configuring Log4j 2 for Geode</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/statistics/chapter_overview.html">Statistics</a>
<ul>
<li>
<a href="/docs/guide/15/managing/statistics/how_statistics_work.html">How Statistics Work</a>
</li>
<li>
<a href="/docs/guide/15/managing/statistics/transient_region_and_entry_statistics.html">Transient Region and Entry Statistics</a>
</li>
<li>
<a href="/docs/guide/15/managing/statistics/application_defined_statistics.html">Application-Defined and Custom Statistics</a>
</li>
<li>
<a href="/docs/guide/15/managing/statistics/setting_up_statistics.html">Configuring and Using Statistics</a>
</li>
<li>
<a href="/docs/guide/15/managing/statistics/viewing_statistics.html">Viewing Archived Statistics</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/troubleshooting/chapter_overview.html">Troubleshooting and System Recovery</a>
<ul>
<li>
<a href="/docs/guide/15/managing/troubleshooting/producing_troubleshooting_artifacts.html">Producing Artifacts for Troubleshooting</a>
</li>
<li>
<a href="/docs/guide/15/managing/troubleshooting/diagnosing_system_probs.html">Diagnosing System Problems</a>
</li>
<li>
<a href="/docs/guide/15/managing/troubleshooting/system_failure_and_recovery.html">System Failure and Recovery</a>
</li>
<li>
<a href="/docs/guide/15/managing/member-reconnect.html">Handling Forced Cache Disconnection Using Autoreconnect</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/troubleshooting/recovering_from_app_crashes.html">Recovering from Application and Cache Server Crashes</a>
<ul>
<li>
<a href="/docs/guide/15/managing/troubleshooting/recovering_from_p2p_crashes.html">Recovering from Crashes with a Peer-to-Peer Configuration</a>
</li>
<li>
<a href="/docs/guide/15/managing/troubleshooting/recovering_from_cs_crashes.html">Recovering from Crashes with a Client/Server Configuration</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/managing/troubleshooting/recovering_from_machine_crashes.html">Recovering from Machine Crashes</a>
</li>
<li>
<a href="/docs/guide/15/managing/troubleshooting/recovering_conflicting_data_exceptions.html">Recovering from ConfictingPersistentDataExceptions</a>
</li>
<li>
<a href="/docs/guide/15/managing/troubleshooting/prevent_and_recover_disk_full_errors.html">Preventing and Recovering from Disk Full Errors</a>
</li>
<li>
<a href="/docs/guide/15/managing/troubleshooting/recovering_from_network_outages.html">Understanding and Recovering from Network Outages</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/book_intro.html">Developing with Apache Geode</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/developing/region_options/chapter_overview.html">
Region Data Storage and Distribution</a>
<ul>
<li>
<a href="/docs/guide/15/developing/region_options/storage_distribution_options.html">
Storage and Distribution Options</a>
</li>
<li>
<a href="/docs/guide/15/developing/region_options/region_types.html">Region Types</a>
</li>
<li>
<a href="/docs/guide/15/developing/region_options/data_hosts_and_accessors.html">Region Data Stores and Data Accessors</a>
</li>
<li>
<a href="/docs/guide/15/developing/region_options/dynamic_region_creation.html">Creating Regions Dynamically</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/partitioned_regions/chapter_overview.html">Partitioned Regions</a>
<ul>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/how_partitioning_works.html">Understanding Partitioning</a>
</li>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/managing_partitioned_regions.html">Configuring Partitioned Regions</a>
</li>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/configuring_bucket_for_pr.html">Configuring the Number of Buckets for a Partitioned Region</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/partitioned_regions/overview_custom_partitioning_and_data_colocation.html">Custom-Partitioning and Colocating Data</a>
<ul>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/custom_partitioning_and_data_colocation.html">Understanding Custom Partitioning and Data Colocation</a>
</li>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/standard_custom_partitioning.html">Standard Custom Partitioning</a>
</li>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/fixed_custom_partitioning.html">Fixed Custom Partitioning</a>
</li>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/colocating_partitioned_region_data.html">Colocate Data from Different Partitioned Regions</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/partitioned_regions/overview_how_pr_ha_works.html">Configuring High Availability for Partitioned Regions</a>
<ul>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/how_pr_ha_works.html">Understanding High Availability for Partitioned Regions</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/partitioned_regions/configuring_ha_for_pr.html">Configure High Availability for a Partitioned Region</a>
<ul>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/set_pr_redundancy.html">Set the Number of Redundant Copies</a>
</li>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/set_redundancy_zones.html">Configure Redundancy Zones for Members</a>
</li>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/set_enforce_unique_host.html">Set Enforce Unique Host</a>
</li>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/set_crash_redundancy_recovery.html">Configure Member Crash Redundancy Recovery for a Partitioned Region</a>
</li>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/set_join_redundancy_recovery.html">Configure Member Join Redundancy Recovery for a Partitioned Region</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/partitioned_regions/overview_how_pr_single_hop_works.html">Configuring Single-Hop Client Access to Server-Partitioned Regions</a>
<ul>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/how_pr_single_hop_works.html">Understanding Client Single-Hop Access to Server-Partitioned Regions</a>
</li>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/configure_pr_single_hop.html">Configure Client Single-Hop Access to Server-Partitioned Regions</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/rebalancing_pr_data.html">Rebalancing Partitioned Region Data</a>
</li>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/checking_region_redundancy.html">Checking Redundancy in Partitioned Regions</a>
</li>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/moving_partitioned_data.html">Moving Partitioned Region Data to Another Member</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/distributed_regions/chapter_overview.html">
Distributed and Replicated Regions</a>
<ul>
<li>
<a href="/docs/guide/15/developing/distributed_regions/how_distribution_works.html">How Distribution Works</a>
</li>
<li>
<a href="/docs/guide/15/developing/distributed_regions/choosing_level_of_dist.html">Options for Region Distribution</a>
</li>
<li>
<a href="/docs/guide/15/developing/distributed_regions/how_replication_works.html">How Replication and Preloading Work</a>
</li>
<li>
<a href="/docs/guide/15/developing/distributed_regions/managing_distributed_regions.html">Configure Distributed, Replicated, and Preloaded Regions</a>
</li>
<li>
<a href="/docs/guide/15/developing/distributed_regions/locking_in_global_regions.html">Locking in Global Regions</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/distributed_regions/region_entry_versions.html">Consistency for Region Updates</a>
<ul>
<li>
<a href="/docs/guide/15/developing/distributed_regions/how_region_versioning_works.html#topic_7A4B6C6169BD4B1ABD356294F744D236">
Consistency Checking by Region Type</a>
</li>
<li>
<a href="/docs/guide/15/developing/distributed_regions/how_region_versioning_works.html#topic_B64891585E7F4358A633C792F10FA23E">Configuring Consistency Checking</a>
</li>
<li>
<a href="/docs/guide/15/developing/distributed_regions/how_region_versioning_works.html#topic_0BDACA590B2C4974AC9C450397FE70B2">Overhead for Consistency Checks</a>
</li>
<li>
<a href="/docs/guide/15/developing/distributed_regions/how_region_versioning_works.html#topic_C5B74CCDD909403C815639339AA03758">How Consistency Checking Works for Replicated Regions</a>
</li>
<li>
<a href="/docs/guide/15/developing/distributed_regions/how_region_versioning_works.html#topic_321B05044B6641FCAEFABBF5066BD399">How Destroy and Clear Operations Are Resolved</a>
</li>
<li>
<a href="/docs/guide/15/developing/distributed_regions/how_region_versioning_works.html#topic_32ACFA5542C74F3583ECD30467F352B0">Transactions with Consistent Regions</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/general_region_data_management.html">General Region Data Management</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/developing/storing_data_on_disk/chapter_overview.html">Persistence and Overflow</a>
<ul>
<li>
<a href="/docs/guide/15/developing/storing_data_on_disk/how_persist_overflow_work.html">How Persistence and Overflow Work</a>
</li>
<li>
<a href="/docs/guide/15/developing/storing_data_on_disk/storing_data_on_disk.html">Configure Region Persistence and Overflow</a>
</li>
<li>
<a href="/docs/guide/15/developing/storing_data_on_disk/overflow_config_examples.html">Overflow Configuration Examples</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/eviction/chapter_overview.html">Eviction</a>
<ul>
<li>
<a href="/docs/guide/15/developing/eviction/how_eviction_works.html">How Eviction Works</a>
</li>
<li>
<a href="/docs/guide/15/developing/eviction/configuring_data_eviction.html">Configure Data Eviction</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/expiration/chapter_overview.html">Expiration</a>
<ul>
<li>
<a href="/docs/guide/15/developing/expiration/how_expiration_works.html">How Expiration Works</a>
</li>
<li>
<a href="/docs/guide/15/developing/expiration/configuring_data_expiration.html">Configure Data Expiration</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/outside_data_sources/sync_outside_data.html">Keeping the Cache in Sync with Outside Data Sources</a>
<ul>
<li>
<a href="/docs/guide/15/developing/outside_data_sources/chapter_overview.html">Overview of Outside Data Sources</a>
</li>
<li>
<a href="/docs/guide/15/developing/outside_data_sources/how_data_loaders_work.html">How Data Loaders Work</a>
</li>
<li>
<a href="/docs/guide/15/developing/outside_data_sources/implementing_data_loaders.html">Implement a Data Loader</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/data_serialization/chapter_overview.html">Data Serialization</a>
<ul>
<li>
<a href="/docs/guide/15/developing/data_serialization/data_serialization_options.html">Overview of Data Serialization</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/data_serialization/gemfire_pdx_serialization.html">Geode PDX Serialization</a>
<ul>
<li>
<a href="/docs/guide/15/developing/data_serialization/PDX_Serialization_Features.html">Geode PDX Serialization Features</a>
</li>
<li>
<a href="/docs/guide/15/developing/data_serialization/use_pdx_high_level_steps.html">High Level Steps for Using PDX Serialization
</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/data_serialization/auto_serialization.html">Using Automatic Reflection-Based PDX Serialization</a>
<ul>
<li>
<a href="/docs/guide/15/developing/data_serialization/autoserialization_with_class_pattern_strings.html">Customizing Serialization with Class Pattern Strings</a>
</li>
<li>
<a href="/docs/guide/15/developing/data_serialization/extending_the_autoserializer.html">Extending the ReflectionBasedAutoSerializer</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/developing/data_serialization/use_pdx_serializer.html">Serializing Your Domain Object with a PdxSerializer</a>
</li>
<li>
<a href="/docs/guide/15/developing/data_serialization/use_pdx_serializable.html">Implementing PdxSerializable in Your Domain Object</a>
</li>
<li>
<a href="/docs/guide/15/developing/data_serialization/program_application_for_pdx.html">Programming Your Application to Use PdxInstances</a>
</li>
<li>
<a href="/docs/guide/15/developing/data_serialization/jsonformatter_pdxinstances.html">Adding JSON Documents to the Geode Cache</a>
</li>
<li>
<a href="/docs/guide/15/developing/data_serialization/using_PdxInstanceFactory.html">Using PdxInstanceFactory to Create PdxInstances</a>
</li>
<li>
<a href="/docs/guide/15/developing/data_serialization/persist_pdx_metadata_to_disk.html">Persisting PDX Metadata to Disk</a>
</li>
<li>
<a href="/docs/guide/15/developing/data_serialization/using_pdx_region_entry_keys.html">Using PDX Objects as Region Entry Keys</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/developing/data_serialization/gemfire_data_serialization.html">Geode Data Serialization (DataSerializable and DataSerializer)</a>
</li>
<li>
<a href="/docs/guide/15/developing/data_serialization/java_serialization.html">Standard Java Serialization</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/events/chapter_overview.html">Events and Event Handling</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/developing/events/how_events_work.html">How Events Work</a>
<ul>
<li>
<a href="/docs/guide/15/developing/events/how_cache_events_work.html">Peer-to-Peer Event Distribution</a>
</li>
<li>
<a href="/docs/guide/15/developing/events/how_client_server_distribution_works.html">Client-to-Server Event Distribution</a>
</li>
<li>
<a href="/docs/guide/15/developing/events/how_multisite_distribution_works.html">
Multi-Site (WAN) Event Distribution</a>
</li>
<li>
<a href="/docs/guide/15/developing/events/list_of_event_handlers_and_events.html">List of Event Handlers and Events</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/events/event_handler_overview.html">Implementing Geode Event Handlers</a>
<ul>
<li>
<a href="/docs/guide/15/developing/events/implementing_cache_event_handlers.html">Implementing Cache Event Handlers</a>
</li>
<li>
<a href="/docs/guide/15/developing/events/implementing_write_behind_event_handler.html">Implementing an AsyncEventListener for Write-Behind Cache Event Handling</a>
</li>
<li>
<a href="/docs/guide/15/developing/events/writing_callbacks_that_modify_the_cache.html">How to Safely Modify the Cache from an Event Handler Callback</a>
</li>
<li>
<a href="/docs/guide/15/developing/events/cache_event_handler_examples.html">Cache Event Handler Examples</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/developing/events/configure_p2p_event_messaging.html">Configuring Peer-to-Peer Event Messaging</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/events/configure_client_server_event_messaging.html">Configuring Client/Server Event Messaging
</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/developing/events/configuring_highly_available_servers.html">Configuring Highly Available Servers</a>
<ul>
<li>
<a href="/docs/guide/15/developing/events/ha_event_messaging_whats_next.html">Highly Available Client/Server Event Messaging</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/developing/events/implementing_durable_client_server_messaging.html">Implementing Durable Client/Server Messaging</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/events/tune_client_server_event_messaging.html">Tuning Client/Server Event Messaging</a>
<ul>
<li>
<a href="/docs/guide/15/developing/events/conflate_server_subscription_queue.html">Conflate the Server Subscription Queue</a>
</li>
<li>
<a href="/docs/guide/15/developing/events/limit_server_subscription_queue_size.html">Limit the Server's Subscription Queue Memory Use
</a>
</li>
<li>
<a href="/docs/guide/15/developing/events/tune_client_message_tracking_timeout.html">Tune the Client's Subscription Message Tracking Timeout</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/events/configure_multisite_event_messaging.html">Configuring Multi-Site (WAN) Event Queues</a>
<ul>
<li>
<a href="/docs/guide/15/developing/events/configuring_highly_available_gateway_queues.html">Persisting an Event Queue</a>
</li>
<li>
<a href="/docs/guide/15/developing/events/configuring_gateway_concurrency_levels.html">Configuring Dispatcher Threads and Order Policy for Event Distribution</a>
</li>
<li>
<a href="/docs/guide/15/developing/events/conflate_multisite_gateway_queue.html">Conflating Events in a Queue</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/delta_propagation/chapter_overview.html">
Delta Propagation</a>
<ul>
<li>
<a href="/docs/guide/15/developing/delta_propagation/how_delta_propagation_works.html">How Delta Propagation Works</a>
</li>
<li>
<a href="/docs/guide/15/developing/delta_propagation/when_to_use_delta_prop.html">When to Avoid Delta Propagation</a>
</li>
<li>
<a href="/docs/guide/15/developing/delta_propagation/delta_propagation_properties.html">Delta Propagation Properties</a>
</li>
<li>
<a href="/docs/guide/15/developing/delta_propagation/implementing_delta_propagation.html">Implementing Delta Propagation</a>
</li>
<li>
<a href="/docs/guide/15/developing/delta_propagation/errors_in_delta_propagation.html">Errors In Delta Propagation</a>
</li>
<li>
<a href="/docs/guide/15/developing/delta_propagation/delta_propagation_example.html">Delta Propagation Example</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/querying_basics/chapter_overview.html">Querying</a>
<ul>
<li>
<a href="/docs/guide/15/getting_started/querying_quick_reference.html">Geode Querying FAQ and Examples</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/querying_basics/query_basics.html">Querying with OQL</a>
<ul>
<li>
<a href="/docs/guide/15/developing/querying_basics/oql_compared_to_sql.html">Advantages of OQL</a>
</li>
<li>
<a href="/docs/guide/15/developing/querying_basics/running_a_query.html">Writing and Executing a Query in Geode</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/querying_basics/what_is_a_query_string.html">Building a Query String</a>
<ul>
<li>
<a href="/docs/guide/15/developing/query_select/the_import_statement.html">IMPORT Statement</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_select/the_from_clause.html">FROM Clause</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_select/the_where_clause.html">WHERE Clause</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_select/the_select_statement.html">SELECT Statement</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_select/aggregates.html">OQL Aggregate Functions</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/query_additional/query_language_features.html">OQL Syntax and Semantics</a>
<ul>
<li>
<a href="/docs/guide/15/developing/querying_basics/supported_character_sets.html">Supported Character Sets</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_additional/supported_keywords.html">Supported Keywords</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_additional/case_sensitivity.html">Case Sensitivity</a>
</li>
<li>
<a href="/docs/guide/15/developing/querying_basics/comments_in_query_strings.html">Comments in Query Strings</a>
</li>
<li>
<a href="/docs/guide/15/developing/querying_basics/query_grammar_and_reserved_words.html">Query Language Grammar</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_additional/operators.html">Operators</a>
</li>
<li>
<a href="/docs/guide/15/developing/querying_basics/reserved_words.html">Reserved Words</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_additional/literals.html">Supported Literals</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/developing/querying_basics/restrictions_and_unsupported_features.html">Query Language Restrictions and Unsupported Features</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/query_additional/advanced_querying.html">Advanced Querying</a>
<ul>
<li>
<a href="/docs/guide/15/developing/querying_basics/performance_considerations.html">Performance Considerations</a>
</li>
<li>
<a href="/docs/guide/15/developing/querying_basics/monitor_queries_for_low_memory.html">Monitoring Queries for Low Memory</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_additional/using_query_bind_parameters.html">Using Query Bind Parameters</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/querying_basics/querying_partitioned_regions.html">
Querying Partitioned Regions</a>
<ul>
<li>
<a href="/docs/guide/15/developing/query_additional/order_by_on_partitioned_regions.html">Using ORDER BY on Partitioned Regions</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_additional/query_on_a_single_node.html">Querying a Partitioned Region on a Single Node</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_additional/partitioned_region_key_or_field_value.html">Optimizing Queries on Data Partitioned by a Key or Field Value</a>
</li>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/join_query_partitioned_regions.html">Performing an Equi-Join Query on Partitioned Regions</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_additional/partitioned_region_query_restrictions.html">Partitioned Region Query Restrictions</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/developing/query_additional/query_debugging.html">Query Debugging</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/query_index/query_index.html">Working with Indexes</a>
<ul>
<li>
<a href="/docs/guide/15/developing/query_index/indexing_guidelines.html">Tips and Guidelines on Using Indexes</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_index/creating_an_index.html">Creating, Listing and Removing Indexes</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_index/creating_key_indexes.html">Creating Key Indexes</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_index/creating_hash_indexes.html">Creating Hash Indexes</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_index/creating_map_indexes.html">Creating Indexes on Map Fields ("Map Indexes")</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_index/create_multiple_indexes.html">Creating Multiple Indexes at Once</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_index/maintaining_indexes.html">Maintaining Indexes (Synchronously or Asynchronously) and Index Storage</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_index/query_index_hints.html">Using Query Index Hints</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_index/indexes_on_single_region_queries.html">Using Indexes on Single Region Queries</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_index/using_indexes_with_equijoin_queries.html">Using Indexes with Equi-Join Queries</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_index/indexes_with_overflow_regions.html">Using Indexes with Overflow Regions</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_index/using_indexes_with_equijoin_queries_multiple_regions.html">Using Indexes on Equi-Join Queries using Multiple Regions</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_index/index_samples.html">Index Samples</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/continuous_querying/chapter_overview.html">
Continuous Querying</a>
<ul>
<li>
<a href="/docs/guide/15/developing/continuous_querying/how_continuous_querying_works.html">How Continuous Querying Works</a>
</li>
<li>
<a href="/docs/guide/15/developing/continuous_querying/implementing_continuous_querying.html">Implementing Continuous Querying</a>
</li>
<li>
<a href="/docs/guide/15/developing/continuous_querying/continuous_querying_whats_next.html">Managing Continuous Querying</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/transactions/chapter_overview.html">Transactions</a>
<ul>
<li>
<a href="/docs/guide/15/developing/transactions/about_transactions.html">About Transactions</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/transactions/cache_transactions.html">Geode Cache Transactions</a>
<ul>
<li>
<a href="/docs/guide/15/developing/transactions/cache_transaction_performance.html">Cache Transaction Performance</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/data_location_cache_transactions.html">Data Location for Cache Transactions</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/run_a_cache_transaction.html">How to Run a Geode Cache Transaction</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/run_a_cache_transaction_with_external_db.html">How to Run a Geode Cache Transaction that Coordinates with an External Database</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/transactions/working_with_transactions.html">Working with Geode Cache Transactions</a>
<ul>
<li>
<a href="/docs/guide/15/developing/transactions/working_with_transactions.html#concept_vx2_gs4_5k">Setting Global Copy on Read
</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/working_with_transactions.html#concept_fdr_wht_vk">Making a Safe Change Within a Transaction Using CopyHelper.copy
</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/working_with_transactions.html#concept_ihn_zmt_vk">Transactions and Functions</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/working_with_transactions.html#concept_ty1_vnt_vk">Using Queries and Indexes with Transactions</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/working_with_transactions.html#concept_ksh_twz_vk">Collections and Region.Entry Instances in Transactions</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/working_with_transactions.html#concept_vyt_txz_vk">Using Eviction and Expiration Operations</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/working_with_transactions.html#transactions_and_consistency">Transactions and Consistent Regions</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/working_with_transactions.html#concept_u5b_ryz_vk">Suspending and Resuming Transactions</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/working_with_transactions.html#concept_ysx_nf1_wk">Using Cache Writer and Cache Listener Plug-Ins</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/working_with_transactions.html#concept_ocw_vf1_wk">Configuring Transaction Plug-In Event Handlers</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/transaction_event_management.html">How Transaction Events Are Managed</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/transactions/how_cache_transactions_work.html#topic_fls_1j1_wk">How Geode Cache Transactions Work</a>
<ul>
<li>
<a href="/docs/guide/15/developing/transactions/how_cache_transactions_work.html#concept_hls_1j1_wk">Transaction View</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/how_cache_transactions_work.html#concept_sbj_lj1_wk">Committing Transactions</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/cache_transactions_by_region_type.html">Transactions by Region Type</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/transactions/client_server_transactions.html">Client Transactions</a>
<ul>
<li>
<a href="/docs/guide/15/developing/transactions/client_server_transactions.html#how_gemfire_runs_clients">How Geode Runs Client Transactions</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/client_server_transactions.html#client_cache_access">Client Cache Access During a Transaction</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/client_server_transactions.html#client_app_plugins">Client Transactions and Client Application Plug-Ins</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/client_server_transactions.html#client_transaction_failures">Client Transaction Failures</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/transactions/transactional_and_nontransactional_ops.html#transactional_and_nontransactional_ops">Comparing Transactional and Non-Transactional Operations</a>
<ul>
<li>
<a href="/docs/guide/15/developing/transactions/transactional_and_nontransactional_ops.html#transactional_operations">Transactional Operations</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/transactional_and_nontransactional_ops.html#non_transactional_operations">Non-Transactional Operations</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/transactional_and_nontransactional_ops.html#entry_operations">Entry Operations</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/transactional_and_nontransactional_ops.html#region_operations">Region Operations</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/transactional_and_nontransactional_ops.html#cache_operations">Cache Operations</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/transactional_and_nontransactional_ops.html#no-ops">No-Ops</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/transaction_semantics.html">Geode Cache Transaction Semantics</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/transactions/JTA_transactions.html">JTA Global Transactions with Geode
</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/developing/transactions/JTA_transactions.html#concept_cp1_zx1_wk">Coordinating with External JTA Transactions Managers</a>
<ul>
<li>
<a href="/docs/guide/15/developing/transactions/JTA_transactions.html#task_j3g_3mn_1l">How to Run a JTA Transaction Coordinated by an External Transaction Manager</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/transactions/JTA_transactions.html#concept_csy_vfb_wk">Using Geode as the "Last Resource" in a Container-Managed JTA Transaction</a>
<ul>
<li>
<a href="/docs/guide/15/developing/transactions/JTA_transactions.html#task_sln_x3b_wk">How to Run JTA Transactions with Geode as a "Last Resource"</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/transactions/JTA_transactions.html#concept_8567sdkbigige">Using Geode as the JTA Transaction Manager</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/developing/transactions/JTA_transactions.html#task_qjv_khb_wk">How to Run a JTA Global Transaction Using Geode as the JTA Transaction Manager</a>
<ul>
<li>
<a href="/docs/guide/15/developing/transactions/configuring_db_connections_using_JNDI.html">Configuring Database Connections Using JNDI</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/configuring_db_connections_using_JNDI.html#topic_F67EC20067124A618A8099AB4CBF634C">Example DataSource Configurations in cache.xml</a>
</li>
</ul>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/cache_plugins_with_jta.html">Behavior of Geode Cache Writers and Loaders Under JTA</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/turning_off_jta.html">Turning Off JTA Transactions
</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/monitor_troubleshoot_transactions.html">Monitoring and Troubleshooting Transactions</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/transactions/transaction_coding_examples.html">Transaction Coding Examples</a>
<ul>
<li>
<a href="/docs/guide/15/developing/transactions/transactions_overview.html">Basic Transaction Example</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/transaction_suspend_resume_example.html">Basic Suspend and Resume Transaction Example</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/transactional_function_example.html">Transaction Embedded within a Function Example</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/transaction_jta_gemfire_example.html">Geode JTA Transaction Example</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/jca_adapter_example.html">JCA Resource Adapter Example</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/function_exec/chapter_overview.html">Function Execution</a>
<ul>
<li>
<a href="/docs/guide/15/developing/function_exec/how_function_execution_works.html">How Function Execution Works</a>
</li>
<li>
<a href="/docs/guide/15/developing/function_exec/function_execution.html">Executing a Function in Apache Geode</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/rest_apps/book_intro.html">Developing REST Applications for Apache Geode</a>
<ul>
<li>
<a href="/docs/guide/15/rest_apps/chapter_overview.html">Geode REST API Overview</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/rest_prereqs.html">Prerequisites and Limitations for Writing REST Applications</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/rest_apps/setup_config.html">Setup and Configuration</a>
<ul>
<li><a href="/docs/guide/15/rest_apps/setup_config.html#setup_config_enabling_rest">Enabling the REST API</a></li>
<li><a href="/docs/guide/15/rest_apps/setup_config.html#setup_config_starting_rest">Starting the REST API Service</a></li>
<li><a href="/docs/guide/15/rest_apps/setup_config.html#setup_config_implementing_auth">Implementing Authentication</a></li>
<li><a href="/docs/guide/15/rest_apps/setup_config.html#setup_config_implementing_auth">Programmatic Startup</a></li>
</ul>
</li>
<li>
<a href="/docs/guide/15/rest_apps/using_swagger.html">Using the Swagger UI to Browse REST APIs</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/rest_apps/develop_rest_apps.html">Developing REST Applications</a>
<ul>
<li>
<a href="/docs/guide/15/rest_apps/develop_rest_apps.html#topic_qhs_f25_m4">Working with Regions</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/develop_rest_apps.html#topic_fcn_g25_m4">Working with Queries</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/develop_rest_apps.html#topic_rbc_h25_m4">Working with Functions</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/rest_apps/rest_examples.html">Sample REST Applications</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/troubleshooting.html">Troubleshooting and FAQ</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/rest_apps/rest_api_reference.html">Apache Geode REST API Reference</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/rest_apps/rest_regions.html">Region Endpoints</a>
<ul>
<li>
<a href="/docs/guide/15/rest_apps/get_regions.html">GET /gemfire-api/v1</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/get_region_data.html">GET /gemfire-api/v1/{region}</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/get_region_keys.html">GET /gemfire-api/v1/{region}/keys</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/get_region_key_data.html">GET /gemfire-api/v1/{region}/{key}</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/get_region_data_for_multiple_keys.html">GET /gemfire-api/v1/{region}/{key1},{key2},...,{keyN}</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/head_region_size.html">HEAD /gemfire-api/v1/{region}</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/post_if_absent_data.html">POST /gemfire-api/v1/{region}?key=&lt;key&gt;</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/put_update_data.html">PUT /gemfire-api/v1/{region}/{key}</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/put_multiple_values_for_keys.html">PUT /gemfire-api/v1/{region}/{key1},{key2},...{keyN}</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/put_replace_data.html">PUT /gemfire-api/v1/{region}/{key}?op=REPLACE</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/put_update_cas_data.html">PUT /gemfire-api/v1/{region}/{key}?op=CAS</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/delete_all_data.html">DELETE /gemfire-api/v1/{region}</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/delete_data_for_key.html">DELETE /gemfire-api/v1/{region}/{key}</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/delete_data_for_multiple_keys.html">DELETE /gemfire-api/v1/{region}/{key1},{key2},...{keyN}</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/rest_apps/rest_queries.html">Query Endpoints</a>
<ul>
<li>
<a href="/docs/guide/15/rest_apps/get_queries.html">GET /gemfire-api/v1/queries</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/post_create_query.html">POST /gemfire-api/v1/queries?id=&lt;queryId&gt;&amp;q=&lt;OQL-statement&gt;</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/post_execute_query.html">POST /gemfire-api/v1/queries/{queryId}</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/put_update_query.html">PUT /gemfire-api/v1/queries/{queryId}</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/delete_named_query.html">DELETE /gemfire-api/v1/queries/{queryId}</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/get_execute_adhoc_query.html">GET /gemfire-api/v1/queries/adhoc?q=&lt;OQL-statement&gt;</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/rest_apps/rest_functions.html">Function Endpoints</a>
<ul>
<li>
<a href="/docs/guide/15/rest_apps/get_functions.html">GET /gemfire-api/v1/functions</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/post_execute_functions.html">POST /gemfire-api/v1/functions/{functionId}</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/rest_apps/rest_admin.html">Administrative Endpoints</a>
<ul>
<li>
<a href="/docs/guide/15/rest_apps/ping_service.html">[HEAD | GET] /gemfire-api/v1/ping</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/get_servers.html">GET /gemfire-api/v1/servers</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/book_intro.html">Tools and Modules</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/chapter_overview.html">
gfsh</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/about_gfsh.html">What You Can Do with gfsh</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/starting_gfsh.html">Starting gfsh</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/configuring_gfsh.html">Configuring the gfsh Environment</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/useful_gfsh_shell_variables.html">Useful gfsh Shell Variables</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/getting_started_gfsh.html">Basic Shell Features and Command-Line Usage</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/json_in_gfsh.html">Specifying JSON within Command-Line Options</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/tour_of_gfsh.html">Tutorial—Performing Common Tasks with gfsh</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/gfsh_quick_reference.html">Quick Reference of gfsh Commands by Functional Area</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_77DA6E3929404EB4AC24230CC7C21493">Basic Geode gfsh Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_EB854534301A477BB01058B3B142AE1D">Configuration Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_C7DB8A800D6244AE8FF3ADDCF139DCE4">Data Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_1B47A0E120124EB6BF08A467EB510412">Deployment Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_1ACC91B493EE446E89EC7DBFBBAE00EA">Disk Store Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_10613D4850F04A3EB507F6B441AD3413">Durable CQ and Client Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_8BB061D1A7A9488C819FE2B7881A1278">Function Execution Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_F0AE5CE40D6D49BF92247F5EF4F871D2">Gateway (WAN) Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_B742E9E862BA457082E2346581C97D03">Geode Monitoring Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_688C66526B4649AFA51C0F72F34FA45E">Index Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_2A6DA4078E4E496A9F725A29BC4CFD0D">JMX Connection Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_1C82E6F1B2AF4A65A8DA6B3C846BAC13">Locator Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_lucene_commands">Lucene Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_cvg_bls_5q">PDX Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_EF03129A40EE492984F3B6248596E1DD">Region Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_8A341FF86958466E9E64CF06CD21FED9">Server Commands</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/gfsh_command_index.html">gfsh Command Help</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/alter.html">alter</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/alter.html#topic_alter_async_event_queue">alter async-event-queue</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/alter.html#topic_99BCAD98BDB5470189662D2F308B68EB">alter disk-store</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/alter.html#topic_E74ED23CB60342538B2175C326E7D758">alter region</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/alter.html#topic_7E6B7E1B972D4F418CB45354D1089C2B">alter runtime</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/backup.html">backup disk-store</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/change.html">change loglevel</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/clear.html">clear defined indexes</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/close.html">close</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/close.html#topic_4125AAAB9FE44CD787166E48B694C41D">close durable-client</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/close.html#topic_1BC15B3132BA480DB227921A9B3ABDD1">close durable-cq</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/compact.html">compact</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/compact.html#topic_F123C95C076F424E9AA8AC4F1F6324CC">compact disk-store</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/compact.html#topic_9CCFCB2FA2154E16BD775439C8ABC8FB">compact offline-disk-store</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/configure.html">configure</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/connect.html">connect</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/create.html">create</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/create.html#topic_ryz_pb1_dk">create async-event-queue</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/create.html#topic_w2t_l3m_qq">create defined indexes</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/create.html#topic_bkn_zty_ck">create disk-store</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/create.html#topic_a4x_pb1_dk">create gateway-receiver</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/create.html#topic_hg2_bjz_ck">create gateway-sender</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/create.html#topic_960A5B6FD3D84E1881EE128E299DD12D">create index</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/create.html#create_lucene_index">create lucene index</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/create.html#topic_54B0985FEC5241CA9D26B0CE0A5EA863">create region</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/debug.html">debug</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/define.html">define index</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/deploy.html">deploy</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/describe.html">describe</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/describe.html#topic_gyr_jgz_ck">describe client</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/describe.html#topic_3C2C817D999C4E40AF788808B7B6AF99">describe config</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/describe.html#topic_591DC6B781B641268E6173E69AC6D201">describe connection
</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/describe.html#topic_C635B500BE6A4F1D9572D0BC98A224F2">describe disk-store</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/describe.html#describe_lucene_index">describe lucene index</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/describe.html#topic_D62F3D42B1D84CF68F03D54D5122806A">describe member</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/describe.html#topic_kys_yvk_2l">describe offline-disk-store</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/describe.html#topic_DECF7D3D33F54071B6B8AD4EA7E3F90B">describe region
</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/destroy.html">destroy</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/destroy.html#topic_destroy-async-event-queue">destroy async-event-queue</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/destroy.html#topic_yfr_l2z_ck">destroy disk-store</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/destroy.html#topic_E48C2DF809054C12A162026D8A2139BB">destroy function</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/destroy.html#destroy-gs">destroy gateway-sender</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/destroy.html#topic_D00219CCD6F64C1582A0802AC5CDF3F3">destroy index</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/destroy.html#destroy_lucene_index">destroy lucene index</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/destroy.html#topic_BEDACECF4599407794ACBC0E56B30F65">destroy region</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/disconnect.html">disconnect</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/echo.html">echo</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/execute.html">execute function</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/exit.html">exit</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/export.html">export</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/export.html#topic_mdv_jgz_ck">export cluster-configuration
</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/export.html#topic_C7C69306F93743459E65D46537F4A1EE">export config</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/export.html#topic_263B70069BFC4A7185F86B3272011734">export data</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/export.html#topic_B80978CC659244AE91E2B8CE56EBDFE3">export logs</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/export.html#topic_sjg_bvt_gq">export offline-disk-store</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/export.html#topic_195D27B8B2B64A4E84CF2256636D54BD">export stack-traces</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/gc.html">gc</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/get.html">get</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/help.html">help</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/hint.html">hint</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/history.html">history</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/import.html">import</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/import.html#topic_vnv_grz_ck">import cluster-configuration</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/import.html#topic_jw2_2ld_2l">import data</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/list.html">list</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/list.html#topic_j22_kzk_2l">list async-event-queues</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/list.html#topic_ts1_qb1_dk">list clients</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/list.html#topic_59DF60DE71AD4097B281749425254BFF">list deployed
</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/list.html#topic_BC14AD57EA304FB3845766898D01BD04">list disk-stores</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/list.html#topic_66016A698C334F4EBA19B99F51B0204B">list durable-cqs</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/list.html#topic_DCC7CCBBEF5942B783A8F2A4A5B2FABF">list functions</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/list.html#topic_B1D89671C7B74074899C7D52F15849ED">list gateways</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/list.html#topic_B3B51B6DEA484EE086C4F657EC9831F2">list indexes</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/list.html#list_lucene_indexes">list lucene indexes</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/list.html#topic_5B5BFB2E5F314210858641BE3A689637">list members</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/list.html#topic_F0ECEFF26086474498598035DD83C588">list regions</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/load-balance.html">load-balance gateway-sender</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/locate.html">locate entry</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/netstat.html">netstat</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/pause.html">pause gateway-sender</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/pdx.html">pdx rename</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/put.html">put</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/query.html">query</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/rebalance.html">rebalance</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/remove.html">remove</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/resume.html">resume gateway-sender</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/revoke.html">revoke missing-disk-store</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/run.html">run</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/search.html">search lucene</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/set.html">set variable</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/sh.html">sh</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/show.html">show</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/show.html#topic_1225347FAD6541DF995C9999650165B1">show dead-locks</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/show.html#topic_45AAEDAC3AFF46EC9BB68B24FC9A32B3">show log</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/show.html#topic_6EB786C63AEB46179EEE8FA18624295A">show metrics</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/show.html#topic_7B3D624D5B4F41D1A0F8A9C3C8B2E780">show missing-disk-stores</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/show.html#topic_395C96B500AD430CBF3D3C8886A4CD2E">show subscription-queue-size</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/shutdown.html">shutdown</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/sleep.html">sleep</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/start.html">start</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/start.html#topic_67738A5B68E84DEE95D1C92DAB2E26E5">start gateway-receiver</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/start.html#topic_AB8BA3F42B9645A8BE9BD97CE2F839A8">start gateway-sender</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/start.html#topic_D00507416F3944DFAB48D2FA2B9E4A31">start jconsole</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/start.html#topic_5B5BF8BEE905463D8B7762B89E2D65E7">start jvisualvm
</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/start.html#topic_591260CF25D64562A0EDD7260D2AC6D4">start locator</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/start.html#topic_E906BA7D9E7F4C5890FEFA7ECD40DD77">start pulse</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/start.html#topic_3764EE2DB18B4AE4A625E0354471738A">start server</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/status.html">status</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/status.html#topic_ts1_qb1_dk2">status cluster-config-service</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/status.html#topic_B0F45DC2D5F64FB1A2F738206BC6539E">status gateway-receiver</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/status.html#topic_6F539877F0564F05AF264A9E704EC842">status gateway-sender</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/status.html#topic_E96D0EFA513C4CD79B833FCCDD69C832">status locator</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/status.html#topic_E5DB49044978404D9D6B1971BF5D400D">status server</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/stop.html">stop</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/stop.html#topic_CD1D526FD6F84A7B80B25C741229ED30">stop gateway-receiver
</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/stop.html#topic_0BBDD4B3B8A44A65A610F766C9E85519">stop gateway-sender</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/stop.html#topic_EF61C54B35BA4AB7B14E58CF912F283E">stop locator</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/stop.html#topic_723EE395A63A40D6819618AFC2902125">stop server</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/undeploy.html">undeploy</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/validate.html">validate offline-disk-store</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/version.html">version</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command_scripting.html">Creating and Running gfsh Command Scripts</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/os_command_line_execution.html">Running gfsh Commands on the OS Command Line</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/cache_xml_2_gfsh.html">Mapping cache.xml Elements to gfsh Configuration Commands</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gemcached/chapter_overview.html">Gemcached</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gemcached/about_gemcached.html">How Gemcached Works</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gemcached/deploying_gemcached.html">Deploying and Configuring a Gemcached Server</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gemcached/advantages.html">Advantages of Gemcached over Memcached</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/http_session_mgmt/chapter_overview.html">HTTP Session Management Modules</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/http_session_mgmt/quick_start.html">HTTP Session Management Quick Start</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/http_session_mgmt/http_why_use_gemfire.html">Advantages of Using Geode for Session Management</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/http_session_mgmt/common_gemfire_topologies.html">Common Topologies for HTTP Session Management</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/http_session_mgmt/tc_additional_info.html">General Information on HTTP Session Management</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/http_session_mgmt/session_state_log_files.html">Session State Log Files</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/http_session_mgmt/session_mgmt_tcserver.html">HTTP Session Management Module for Pivotal tc Server</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/http_session_mgmt/tc_installing_the_module.html">Installing the HTTP Module for tc Server</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/http_session_mgmt/tc_setting_up_the_module.html">Setting Up the HTTP Module for tc Server</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/http_session_mgmt/tc_changing_gf_default_cfg.html">Changing the Default Geode Configuration in the tc Server Module</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/http_session_mgmt/interactive_mode_ref.html">Interactive Configuration Reference for the tc Server Module
</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/http_session_mgmt/session_mgmt_tomcat.html">HTTP Session Management Module for Tomcat</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/http_session_mgmt/tomcat_installing_the_module.html">Installing the HTTP Module for Tomcat</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/http_session_mgmt/tomcat_setting_up_the_module.html">Setting Up the HTTP Module for Tomcat</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/http_session_mgmt/tomcat_changing_gf_default_cfg.html">Changing the Default Geode Configuration in the Tomcat Module</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/http_session_mgmt/session_mgmt_weblogic.html">HTTP Session Management Module for AppServers</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/http_session_mgmt/weblogic_setting_up_the_module.html">Setting Up the HTTP Module for AppServers
</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/http_session_mgmt/weblogic_changing_gf_default_cfg.html">Changing the Default Geode Configuration in the AppServers Module
</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/http_session_mgmt/weblogic_common_configuration_changes.html">Common Geode Configuration Changes for AppServers</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/pulse/pulse-overview.html">Geode Pulse</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/pulse/pulse-requirements.html">Pulse System Requirements</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/pulse/pulse-embedded.html">Running Pulse in Embedded Mode (Quick Start)</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/pulse/pulse-hosted.html">Hosting Pulse on a Web Application Server</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/pulse/pulse-auth.html">Configuring Pulse Authentication</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/pulse/pulse-views.html">Using Pulse Views</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/redis_adapter.html">Geode Redis Adapter</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/redis_adapter.html#using-the-redis-adapter">Using the Redis Adapter</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/redis_adapter.html#how-the-redis-adapter-works">How the Redis Adapter Works</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/redis_adapter.html#advantages-of-geode-over-redis">Advantages of Geode over a Redis Server</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/lucene_integration.html">Apache Lucene Integration</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/lucene_integration.html#using-the-apache-lucene-integration">Using the Apache Lucene Integration</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/lucene_integration.html#LuceneRandC">Requirements and Caveats</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/book_intro.html">Reference</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/gemfire_properties.html">gemfire.properties and gfsecurity.properties (Geode Properties)</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/non-ascii_strings_in_config_files.html">Using Non-ASCII Strings in Apache Geode Property Files</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/chapter_overview_cache_xml.html">cache.xml
</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/elements_ref.html">cache.xml Quick Reference</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache-elements-list.html">&lt;cache&gt; Element Hierarchy</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html">&lt;cache&gt; Element Reference</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#cache-transaction-manager">&lt;cache-transaction-manager&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#transaction-listener">&lt;transaction-listener&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#transaction-writer">&lt;transaction-writer&gt;</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#dynamic-region-factory">&lt;dynamic-region-factory&gt;</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#gateway-sender">&lt;gateway-sender&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#gateway-event-filter">&lt;gateway-event-filter&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#gateway-event-substitution-filter">&lt;gateway-event-substitution-filter&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#gateway-transport-filter">&lt;gateway-transport-filter&gt;</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#gateway-receiver">&lt;gateway-receiver&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#gateway-receiver_gateway-transport-filter">&lt;gateway-transport-filter&gt;</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#gateway-conflict-resolver">&lt;gateway-conflict-resolver&gt;</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#async-event-queue">&lt;async-event-queue&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#async-event-listener">&lt;async-event-listener&gt;</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#cache-server">&lt;cache-server&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#client-subscription">&lt;client-subscription&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#custom-load-probe">&lt;custom-load-probe&gt;</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#pool">&lt;pool&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#locator">&lt;locator&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#server">&lt;server&gt;</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#disk-store">&lt;disk-store&gt;</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#disk-dirs">&lt;disk-dirs&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#disk-dir">&lt;disk-dir&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#pdx">&lt;pdx&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#pdx-serializer_24898989679">&lt;pdx-serializer&gt;</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#region-attributes">&lt;region-attributes&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#key-constraint">&lt;key-constraint&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#value-constraint">&lt;value-constraint&gt;</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#region-time-to-live">&lt;region-time-to-live&gt;</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#expiration-attributes">&lt;expiration-attributes&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#custom-expiry">&lt;custom-expiry&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#region-idle-time">&lt;region-idle-time&gt;</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#region-idle-time_expiration-attributes">&lt;expiration-attributes&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#region-idle-time_custom-expiry">&lt;custom-expiry&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#entry-time-to-live">&lt;entry-time-to-live&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#entry-idle-time_expiration-attributes">&lt;expiration-attributes&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#entry-time-to-live_custom_expiry">&lt;custom-expiry&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#entry-idle-time">&lt;entry-idle-time&gt;</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#entry-idle-time_expiration-attributes">&lt;expiration-attributes&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#entry-idle-time_custom-expiry">&lt;custom-expiry&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#partition-attributes">&lt;partition-attributes&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#partition-resolver">&lt;partition-resolver&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#partition-listener">&lt;partition-listener&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#fixed-partition-attributes">&lt;fixed-partition-attributes&gt;</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#membership-attributes">&lt;membership-attributes&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#required-role">&lt;required-role&gt;</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#subscription-attributes">&lt;subscription-attributes&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#topic_qsb_pnw_bm">&lt;cache-loader&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#topic_h53_pnw_bm">&lt;cache-writer&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#cache-listener">&lt;cache-listener&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#topic_pcd_t25_44">&lt;compressor&gt;</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#eviction-attributes">&lt;eviction-attributes&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#lru-entry-count">&lt;lru-entry-count&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#lru-heap-percentage">&lt;lru-heap-percentage&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#lru-memory-size">&lt;lru-memory-size&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#jndi-bindings">&lt;jndi-bindings&gt;</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#jndi-binding">&lt;jndi-binding&gt;</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#config-property">&lt;config-property&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#config-property-name">&lt;config-property-name&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#config-property-type">&lt;config-property-type&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#config-property-value">&lt;config-property-value&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#region">&lt;region&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#index">&lt;index&gt;</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#luceneindex">&lt;lucene:index&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#lucenefield">&lt;lucene:field&gt;</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#entry">&lt;entry&gt;</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#key">&lt;key&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#string">&lt;string&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#declarable">&lt;declarable&gt;</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#value">&lt;value&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#string">&lt;string&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#declarable">&lt;declarable&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#region_region">&lt;region&gt;</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#vm-root-region">&lt;vm-root-region&gt;</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#function-service">&lt;function-service&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#function">&lt;function&gt;</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#resource-manager">&lt;resource-manager&gt;</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#serialization-registration">&lt;serialization-registration&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#serializer">&lt;serializer&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#instantiator">&lt;instantiator&gt;</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#backup">&lt;backup&gt;</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#initializer">&lt;initializer&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#declarable">&lt;declarable&gt;</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#class-name_parameter">&lt;class-name&gt; and &lt;parameter&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#declarable">&lt;declarable&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#string">&lt;string&gt;</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/client-cache-elements-list.html">
&lt;client-cache&gt; Element Hierarchy
</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html">&lt;client-cache&gt; Element Reference</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-cache-transaction-manager">&lt;cache-transaction-manager&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-transaction-listener">&lt;transaction-listener&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-transaction-writer">&lt;transaction-writer&gt;</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-pool">&lt;pool&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-locator">&lt;locator&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-server">&lt;server&gt;</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-disk-store">&lt;disk-store&gt;</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-disk-dirs">&lt;disk-dirs&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-disk-dir">&lt;disk-dir&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-pdx">&lt;pdx&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-pdx-serializer">&lt;pdx-serializer&gt;</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-region-attributes">&lt;region-attributes&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-key-constraint">&lt;key-constraint&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-value-constraint">&lt;value-constraint&gt;</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-region-time-to-live">&lt;region-time-to-live&gt;</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-expiration-attributes">&lt;expiration-attributes&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-custom-expiry">&lt;custom-expiry&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-region-idle-time">&lt;region-idle-time&gt;</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-rit-expiration-attributes">&lt;expiration-attributes&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-rit-custom-expiry">&lt;custom-expiry&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-entry-time-to-live">&lt;entry-time-to-live&gt;</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-ettl-expiration-attributes">&lt;expiration-attributes&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-ettl-custom-expiry">&lt;custom-expiry&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-entry-idle-time">&lt;entry-idle-time&gt;</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-eit-expiration-attributes">&lt;expiration-attributes&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-eit-custom-expiry">&lt;custom-expiry&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#topic_qsb_pnw_bm">&lt;cache-loader&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#topic_h53_pnw_bm">&lt;cache-writer&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-cache-listener">&lt;cache-listener&gt;</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-eviction-attributes">&lt;eviction-attributes&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-lru-entry-count">&lt;lru-entry-count&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-lru-heap-percentage">&lt;lru-heap-percentage&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-lru-memory-size">&lt;lru-memory-size&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-jndi-bindings">&lt;jndi-bindings&gt;</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-jndi-binding">&lt;jndi-binding&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-config-property">&lt;config-property&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-region">&lt;region&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-r-region-attributes">&lt;region-attributes&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-index">&lt;index&gt;</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-entry">&lt;entry&gt;</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-key">&lt;key&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-string">&lt;string&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-declarable">&lt;declarable&gt;</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-value">&lt;value&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-v-string">&lt;string&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-v-declarable">&lt;declarable&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-ra-region">&lt;region&gt;</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-function-service">&lt;function-service&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-function">&lt;function&gt;</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-resource-manager">&lt;resource-manager&gt;</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-serialization-registration">&lt;serialization-registration&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-serializer">&lt;serializer&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-instantiator">&lt;instantiator&gt;</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-initializer">&lt;initializer&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/chapter_overview_regionshortcuts.html">Region Shortcuts</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_table.html">Region Shortcuts Quick Reference</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_w2h_3cd_lk">
LOCAL
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_wd5_lpy_lk">
LOCAL_HEAP_LRU
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_adk_y4y_lk">
LOCAL_OVERFLOW
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_l5r_y4y_lk">
LOCAL_PERSISTENT
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_a45_y4y_lk">
LOCAL_PERSISTENT_OVERFLOW
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_ow5_4qy_lk">
PARTITION
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_twx_y4y_lk">
PARTITION_HEAP_LRU
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_js1_z4y_lk">
PARTITION_OVERFLOW
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_d4k_jpy_lk">
PARTITION_PERSISTENT
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_v5l_jpy_lk">
PARTITION_PERSISTENT_OVERFLOW
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_v4m_jpy_lk">
PARTITION_PROXY
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_c1n_jpy_lk">
PARTITION_PROXY_REDUNDANT
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_shn_jpy_lk">
PARTITION_REDUNDANT
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_m4n_jpy_lk">
PARTITION_REDUNDANT_HEAP_LRU
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_own_jpy_lk">
PARTITION_REDUNDANT_OVERFLOW
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_bd4_jpy_lk">
PARTITION_REDUNDANT_PERSISTENT
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_xqq_tvc_lk">
PARTITION_REDUNDANT_PERSISTENT_OVERFLOW
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_wq4_jpy_lk">
REPLICATE
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_xx4_jpy_lk">
REPLICATE_HEAP_LRU
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_t2p_jpy_lk">
REPLICATE_OVERFLOW
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_emp_jpy_lk">
REPLICATE_PERSISTENT
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_tsp_jpy_lk">
REPLICATE_PERSISTENT_OVERFLOW
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_n1q_jpy_lk">
REPLICATE_PROXY
</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/handling_exceptions_and_failures.html">
Exceptions and System Failures</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/memory_requirements_for_cache_data.html">Memory Requirements for Cached Data</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/statistics_list.html">Geode Statistics List</a>
<ul>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_DEF8D3644D3246AB8F06FE09A37DC5C8">Cache Performance (CachePerfStats)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_EF5C2C59BFC74FFB8607F9571AB9A471">Cache Server (CacheServerStats)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_B08C0783BBF9489E8BB48B4AEC597C62">Client-Side Notifications (CacheClientUpdaterStats)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_04B7D7387E584712B7710B5ED1E876BB">Client-to-Server Messaging Performance (ClientStats)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_6C247F61DB834C079A16BE92789D4692">Client Connection Pool (PoolStats)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_66C0E7748501480B85209D57D24256D5">Continuous Querying (CQStatistics)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_D4ABED3FF94245C0BEE0F6FC9481E867">Delta Propagation (DeltaPropagationStatistics)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_6C2BECC63A83456190B029DEDB8F4BE3">Disk Space Usage (DiskDirStatistics)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_983BFC6D53C74829A04A91C39E06315F">Disk Usage and Performance (DiskRegionStatistics)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_ACB4161F10D64BC0B15871D003FF6FDF">Distributed System Messaging (DistributionStats)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_78D346A580724E1EA645E31626EECE40">Distributed Lock Services (DLockStats)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_5E212DDB0E8640689AD0A4659512E17A">Function Execution (FunctionServiceStatistics)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_C4199A541B1F4B82B6178C416C0FAE4B">Gateway Queue (GatewayStatistics)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_86A61860024B480592DAC67FFB882538">Indexes (IndexStats)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_607C3867602E410CAE5FAB26A7FF1CB9">JVM Performance</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_C48B654F973E4B44AD825D459C23A6CD">Locator (LocatorStatistics)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#LuceneStats">Lucene Indexes (LuceneIndexStats)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#topic_ohc_tjk_w5">Off-Heap (OffHeapMemoryStats)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_923B28F01BC3416786D3AFBD87F22A5E">Operating System Statistics - Linux</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_35AC170770C944C3A336D9AEC2D2F7C5">Partitioned Regions (PartitionedRegion&lt;partitioned_region_name&gt;Statistics)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_374FBD92A3B74F6FA08AA23047929B4F">Region Entry Eviction – Count-Based (LRUStatistics)
</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_3D2AA2BCE5B6485699A7B6ADD1C49FF7">Region Entry Eviction – Size-based (LRUStatistics)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_5362EF9AECBC48D69475697109ABEDFA">Server Notifications for All Clients (CacheClientNotifierStatistics)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_E03865F509E543D9B8F9462B3DA6255E">Server Notifications for Single Client (CacheClientProxyStatistics)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_3AB1C0AA55014163A2BBF68E13D25E3A">Server-to-Client Messaging Performance (ClientSubscriptionStats)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_55F3AF6413474317902845EE4996CC21">Statistics Collection (StatSampler)</a>
</li>
</ul>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/glossary.html">Glossary</a>
</li>
</ul>
</div>
</div>
<!--googleon: index-->
<main class="content content-layout" id="js-content" role="main">
<a id="top"></a>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<span style="font-weight:200;font-size:31px;" style="float:left;">
<img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
Apache Geode
</span>
<span class="local-header version-info" style="float:right;">
<a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
</span>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<h1 class="title-container" >
&lt;cache&gt; Element Reference
</h1>
<div id="js-quick-links" >
</div>
<div class="to-top" id="js-to-top">
<a href="#top" title="back to top"></a>
</div>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<p>This section documents the <code>cache.xml</code> sub-elements used for Geode server configuration. All elements are sub-elements of the <code>&lt;cache&gt;</code> element.</p>
<p>For Geode client configuration, see <a href="/docs/guide/15/reference/topics/client-cache.html">&lt;client-cache&gt; Element Reference</a>.</p>
<p><strong>API</strong>:<code>org.apache.geode.cache.CacheFactory</code></p>
<p><strong>&lt;cache&gt; Attributes</strong></p>
<table>
<colgroup>
<col width="30%" />
<col width="50%" />
<col width="20%" />
</colgroup>
<thead>
<tr class="header">
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>copy-on-read</td>
<td><p>Boolean indicating whether entry value retrieval methods return direct references to the entry value objects in the cache (false) or copies of the objects (true).</p></td>
<td>False</td>
</tr>
<tr class="even">
<td>is-server</td>
<td><p>Boolean indicating whether this member is a cache server.</p></td>
<td>False</td>
</tr>
<tr class="odd">
<td>lock-timeout</td>
<td><p>The timeout, in seconds, for implicit object lock requests. This setting affects automatic locking only, and does not apply to manual locking. If a lock request does not return before the specified timeout period, it is cancelled and returns with a failure.</p></td>
<td>60</td>
</tr>
<tr class="even">
<td>lock-lease</td>
<td><p>The timeout, in seconds, for implicit and explicit object lock leases. This affects both automatic locking and manual locking. Once a lock is obtained, it can remain in force for the lock lease time period before being automatically cleared by the system.</p></td>
<td>120</td>
</tr>
<tr class="odd">
<td>message-sync-interval</td>
<td><p>Used for client subscription queue synchronization when this member acts as a server to clients and server redundancy is used. Sets the frequency (in seconds) at which the primary server sends messages to its secondary servers to remove queued events that have already been processed by the clients.</p></td>
<td>1</td>
</tr>
<tr class="even">
<td>search-timeout</td>
<td><p>How many seconds a <code class="ph codeph">netSearch</code> operation can wait for data before timing out. You may want to change this based on your knowledge of the network load or other factors.</p></td>
<td>300</td>
</tr>
</tbody>
</table>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;cache&gt;
&lt;cache-server port="40404" /&gt;
&lt;region name="root"&gt;
&lt;region-attributes refid="REPLICATE"/&gt;
&lt;region name="cs_region" refid="REPLICATE"&gt;
&lt;region-attributes&gt;
&lt;cache-loader&gt;
&lt;class-name&gt;cacheRunner.StringLoader&lt;/class-name&gt;
&lt;/cache-loader&gt;
&lt;cache-listener&gt;
&lt;class-name&gt;cacheRunner.LoggingCacheListener&lt;/class-name&gt;
&lt;/cache-listener&gt;
&lt;/region-attributes&gt;
&lt;/region&gt;
&lt;/region&gt;
&lt;/cache&gt;
</code></pre>
<h2 id="&lt;cache-transaction-manager&gt;"><a id="cache-transaction-manager" class="no-quick-link"></a>&lt;cache-transaction-manager&gt;</h2>
<p>Specifies a transaction listener.</p>
<p><strong>API:</strong> <code>CacheTransactionManager</code></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;cache search-timeout="60"&gt;
&lt;cache-transaction-manager&gt;
&lt;transaction-listener&gt;
&lt;class-name&gt;com.company.data.MyTransactionListener&lt;/class-name&gt;
&lt;parameter name="URL"&gt;
&lt;string&gt;jdbc:cloudscape:rmi:MyData&lt;/string&gt;
&lt;/parameter&gt;
&lt;/transaction-listener&gt;
&lt;transaction-listener&gt;... &lt;/transaction-listener&gt;
&lt;transaction-writer&gt;
&lt;class-name&gt;com.company.data.MyTransactionWriter&lt;/class-name&gt;
&lt;parameter name="URL"&gt;
&lt;string&gt;jdbc:cloudscape:rmi:MyData&lt;/string&gt;
&lt;/parameter&gt;
&lt;parameter&gt;
&lt;/transaction-writer&gt;
&lt;/cache-transaction-manager&gt; .. .
&lt;/cache&gt;
</code></pre>
<h2 id="&lt;transaction-listener&gt;"><a id="transaction-listener" class="no-quick-link"></a>&lt;transaction-listener&gt;</h2>
<p>When a transaction ends, its thread calls the TransactionListener to perform the appropriate follow-up for successful commits, failed commits, or voluntary rollbacks.</p>
<p>Specify the Java class and its initialization parameters with the <code>&lt;class-name&gt;</code> and <code>&lt;parameter&gt;</code> sub-elements. See <a href="#class-name_parameter">&lt;class-name&gt; and &lt;parameter&gt;</a>.</p>
<h2 id="&lt;transaction-writer&gt;"><a id="transaction-writer" class="no-quick-link"></a>&lt;transaction-writer&gt;</h2>
<p>When you commit a transaction, a TransactionWriter can perform additional tasks, including aborting the transaction.</p>
<p>Specify the Java class and its initialization parameters with the <code>&lt;class-name&gt;</code> and <code>&lt;parameter&gt;</code> sub-elements. See <a href="#class-name_parameter">&lt;class-name&gt; and &lt;parameter&gt;</a>.</p>
<h2 id="&lt;dynamic-region-factory&gt;"><a id="dynamic-region-factory" class="no-quick-link"></a>&lt;dynamic-region-factory&gt;</h2>
<p>The <code>&lt;dynamic-region-factory&gt;</code> element configures a dynamic region factory for this cache. You can use this element to dynamically create regions in your application code. Use the <span class="keyword apiname">createDynamicRegion()</span> method of the <span class="keyword apiname">org.apache.geode.cache.DynamicRegionFactory</span> class in your Java code to dynamically create regions.</p>
<p><strong>Note:</strong>
You can not use this element to dynamically create <em>partitioned</em> regions.</p>
<p>We recommend that you use functions to dynamically create regions. See <a href="/docs/guide/15/developing/region_options/dynamic_region_creation.html">Creating Regions Dynamically</a>.</p>
<p>The optional <code>&lt;disk-dir&gt;</code> sub-element specifies the directory to store the persistent files that are used for dynamic region bookkeeping. It defaults to the current directory.</p>
<p>Set the <code>pool-name</code> attribute to set the name of the connection pool used by client applications in a client/server cache configuration. Do not specify the <code>pool-name</code> attribute in servers or peers.</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.DynamicRegionFactory</code></p>
<p><strong>&lt;dynamic-region-factory&gt; Attributes</strong></p>
<table><thead>
<tr>
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead><tbody>
<tr>
<td>disable-persist-backup</td>
<td>When set to false, the factory is persisted on disk.</td>
<td>false</td>
</tr>
<tr>
<td>disable-register-interest</td>
<td>When set to false, client regions created by the factory register interest in all keys in a corresponding server cache region.</td>
<td>false</td>
</tr>
<tr>
<td>pool-name</td>
<td>The name of a connection pool used by the client factory to communicate with the server-side factory.</td>
<td>none</td>
</tr>
</tbody></table>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;dynamic-region-factory
pool-name=myPool&gt;
&lt;disk-dir&gt;/home/gemfire/myDiskdir&lt;/disk-dir&gt;
&lt;/dynamic-region-factory&gt;
</code></pre>
<h2 id="&lt;disk-dir&gt;"><a id="id_utn_c3p_wk" class="no-quick-link"></a>&lt;disk-dir&gt;</h2>
<p>Specifies a region or disk store&rsquo;s disk directory.</p>
<p><strong>&lt;disk-dir&gt; Attributes</strong></p>
<table><thead>
<tr>
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead><tbody>
<tr>
<td>dir-size</td>
<td>Maximum amount of space to use for the disk store, in megabytes.</td>
<td>214748364 (2 petabytes)</td>
</tr>
</tbody></table>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;disk-dir
dir-size="20480"&gt;/host3/users/gf/memberA_DStore&lt;/disk-dir&gt;
</code></pre>
<h2 id="&lt;gateway-sender&gt;"><a id="gateway-sender" class="no-quick-link"></a>&lt;gateway-sender&gt;</h2>
<p>Configures a gateway sender to distribute region events to another Geode site. See <a href="/docs/guide/15/topologies_and_comm/multi_site_configuration/setting_up_a_multisite_system.html#setting_up_a_multisite_system">Configuring a Multi-site (WAN) System</a>.</p>
<p><strong>API:</strong> <code>GatewaySender</code></p>
<p><strong>&lt;gateway-sender&gt; Attributes</strong>
<table>
<colgroup>
<col width="30%" />
<col width="50%" />
<col width="20%" />
</colgroup>
<thead>
<tr class="header">
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>parallel</td>
<td>Value of &ldquo;true&rdquo; or &ldquo;false&rdquo; that specifies the type of gateway sender that Geode creates.</td>
<td>false</td>
</tr>
<tr class="even">
<td>dispatcher-threads</td>
<td>Number of dispatcher threads that are used to process region events from a gateway sender queue or asynchronous event queue.</td>
<td>5</td>
</tr>
<tr class="odd">
<td>order-policy</td>
<td>When the <code class="ph codeph">dispatcher-threads</code> attribute is greater than 1, <code class="ph codeph">order-policy</code> configures the way in which multiple dispatcher threads process region events from a serial gateway queue or serial asynchronous event queue. This attribute can have one of the following values:
<ul>
<li><strong>key</strong>. When distributing region events from the local queue, multiple dispatcher threads preserve the order of key updates.</li>
<li><strong>thread</strong>. When distributing region events from the local queue, multiple dispatcher threads preserve the order in which a given thread added region events to the queue.</li>
<li><strong>partition</strong>. This option is valid for parallel event queues. When distributing region events from the local queue, multiple dispatcher threads preserve the order in which region events were added to the local queue. For a partitioned region, this means that all region events delivered to a specific partition are delivered in the same order to the remote Geode site. For a distributed region, this means that all key updates delivered to the local queue are distributed to the remote site in the same order.</li>
</ul>
<p>You cannot configure the <code class="ph codeph">order-policy</code> for a parallel event queue, because parallel queues cannot preserve event ordering for regions. Only the ordering of events for a given partition (or in a given queue of a distributed region) can be preserved.</p></td>
<td>key</td>
</tr>
<tr class="even">
<td>id</td>
<td>Unique identifier for the gateway sender, usually an identifier associated with a physical location. This attribute is required.</td>
<td>null</td>
</tr>
<tr class="odd">
<td>remote-distributed-system-id</td>
<td>Integer that uniquely identifies the remote Geode cluster to which this gateway sender will send region events. This value corresponds to the <code class="ph codeph">distributed-system-id</code> property specified in locators for the remote cluster. This attribute is required.</td>
<td>null</td>
</tr>
<tr class="even">
<td>manual-start</td>
<td><b>Deprecated.</b> Boolean value that specifies whether you need to manually start the gateway sender. If you supply a null value, the default value of false is used, and the gateway sender attempts to start automatically. <em>A manual start is likely to cause data loss, so manual start should never be used in a production system.</em></td>
<td>false</td>
</tr>
<tr class="odd">
<td>socket-buffer-size</td>
<td>Size of the socket buffer that sends messages to remote sites. This size should match the size of the <code class="ph codeph">socket-buffer-size</code> attribute of remote gateway receivers that process region events.</td>
<td>32768</td>
</tr>
<tr class="even">
<td>socket-read-timeout</td>
<td>Amount of time in milliseconds that the gateway sender will wait to receive an acknowledgment from a remote site. By default this is set to 0, which means there is no timeout. If you do set this timeout, you must set it to a minimum of 30000 (milliseconds). Setting it to a lower number will generate an error message and reset the value to the default of 0.</td>
<td>0</td>
</tr>
<tr class="odd">
<td>enable-batch-conflation</td>
<td>Boolean value that determines whether Geode should conflate messages.</td>
<td>false</td>
</tr>
<tr class="even">
<td>batch-size</td>
<td>Maximum number of messages that a batch can contain.</td>
<td>100</td>
</tr>
<tr class="odd">
<td>batch-time-interval</td>
<td>Maximum number of milliseconds that can elapse between sending batches.</td>
<td>1000</td>
</tr>
<tr class="even">
<td>enable-persistence</td>
<td>Boolean value that determines whether Geode persists the gateway queue.</td>
<td>false</td>
</tr>
<tr class="odd">
<td>disk-store-name</td>
<td>Named disk store to use for storing the queue overflow, or for persisting the queue. If you specify a value, the named disk store must exist. If you specify a null value, Geode uses the default disk store for overflow and queue persistence.</td>
<td> </td>
</tr>
<tr class="even">
<td>disk-synchronous</td>
<td>For regions that write to disk, boolean that specifies whether disk writes are done synchronously for the region.</td>
<td>true</td>
</tr>
<tr class="odd">
<td>maximum-queue-memory</td>
<td>Maximum amount of memory in megabytes that the queue can consume before overflowing to disk.</td>
<td>100 MB</td>
</tr>
<tr class="even">
<td>alert-threshold</td>
<td>Maximum number of milliseconds that a region event can remain in the gateway sender queue before Geode logs an alert.</td>
<td>0</td>
</tr>
</tbody>
</table></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;cache&gt;
&lt;gateway-sender
id="remoteA"
parallel="true"
remote-distributed-system-id="1"&gt;
&lt;gateway-event-filter&gt;
&lt;class-name&gt;org.apache.geode.util.SampleEventFilter&lt;/class-name&gt;
&lt;parameter
name="param1"&gt;
&lt;string&gt;"value1"&lt;/string&gt;
&lt;/parameter&gt;
&lt;/gateway-event-filter&gt;
&lt;gateway-transport-filter&gt;
&lt;class-name&gt;org.apache.geode.util.SampleTransportFilter&lt;/class-name&gt;
&lt;parameter
name="param1"&gt;
&lt;string&gt;"value1"&lt;/string&gt;
&lt;/parameter&gt;
&lt;/gateway-transport-filter&gt;
&lt;/gateway-sender&gt;
...
&lt;/cache&gt;
</code></pre>
<h2 id="&lt;gateway-event-filter&gt;"><a id="gateway-event-filter" class="no-quick-link"></a>&lt;gateway-event-filter&gt;</h2>
<p>A GatewayEventFilter implementation determines whether a region event is placed in a gateway sender queue and/or whether an event in a gateway queue is distributed to a remote site. You can optionally add one or more GatewayEventFilter implementations to a gateway sender, either in the cache.xml configuration file or using the Java API.</p>
<p>Specify the Java class and its initialization parameters with the <code>&lt;class-name&gt;</code> and <code>&lt;parameter&gt;</code> sub-elements. See <a href="#class-name_parameter">&lt;class-name&gt; and &lt;parameter&gt;</a>.</p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;gateway-event-filter&gt;
&lt;class-name&gt;org.apache.geode.util.SampleEventFilter&lt;/class-name&gt;
&lt;parameter name="param1"&gt;
&lt;string&gt;"value1"&lt;/string&gt;
&lt;/parameter&gt;
&lt;/gateway-event-filter&gt;
</code></pre>
<h2 id="&lt;gateway-event-substitution-filter&gt;"><a id="gateway-event-substitution-filter" class="no-quick-link"></a>&lt;gateway-event-substitution-filter&gt;</h2>
<p>A GatewayEventSubstitutionFilter provides a way to specify a substitute value to be stored in the GatewayQueueEvent and enqueued in the RegionQueue. You can optionally add one GatewayEventSubstitutionFilter implementation to a gateway sender.</p>
<p>Specify the Java class and its initialization parameters with the <code>&lt;class-name&gt;</code> and <code>&lt;parameter&gt;</code> sub-elements. See <a href="#class-name_parameter">&lt;class-name&gt; and &lt;parameter&gt;</a>.</p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;gateway-event-substitution-filter&gt;
&lt;class-name&gt;org.apache.geode.util.SampleEventSubstitutionFilter&lt;/class-name&gt;
&lt;parameter name="param1"&gt;
&lt;string&gt;"value1"&lt;/string&gt;
&lt;/parameter&gt;
&lt;/gateway-event-substitution-filter&gt;
</code></pre>
<h2 id="&lt;gateway-transport-filter&gt;"><a id="gateway-transport-filter" class="no-quick-link"></a>&lt;gateway-transport-filter&gt;</h2>
<p>Use a GatewayTransportFilter implementation to process the TCP stream that sends a batch of events that is distributed from one Geode cluster to another over a WAN. A GatewayTransportFilter is typically used to perform encryption or compression on the data that distributed. You install the same GatewayTransportFilter implementation on both a gateway sender and gateway receiver.</p>
<p>Specify the Java class and its initialization parameters with the <code>&lt;class-name&gt;</code> and <code>&lt;parameter&gt;</code> sub-elements. See <a href="#class-name_parameter">&lt;class-name&gt; and &lt;parameter&gt;</a>.</p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;gateway-transport-filter&gt;
&lt;class-name&gt;org.apache.geode.util.SampleTransportFilter&lt;/class-name&gt;
&lt;parameter
name="param1"&gt;
&lt;string&gt;"value1"&lt;/string&gt;
&lt;/parameter&gt;
&lt;/gateway-transport-filter&gt;
</code></pre>
<h2 id="&lt;gateway-receiver&gt;"><a id="gateway-receiver" class="no-quick-link"></a>&lt;gateway-receiver&gt;</h2>
<p>Configures a gateway receiver to receive and apply region events that were distributed from another Geode site. You can only specify one gateway receiver on a member. See <a href="/docs/guide/15/topologies_and_comm/multi_site_configuration/setting_up_a_multisite_system.html#setting_up_a_multisite_system">Configuring a Multi-site (WAN) System</a>.</p>
<p><strong>API:</strong> <code>GatewayReceiverFactory</code>, <code>GatewayTransportFilter</code></p>
<p><strong>&lt;gateway-receiver&gt; Attributes</strong></p>
<table>
<colgroup>
<col width="30%" />
<col width="50%" />
<col width="20%" />
</colgroup>
<thead>
<tr class="header">
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>start-port</td>
<td><p>Starting port number to use when specifying the range of possible port numbers this gateway receiver will use to connects to gateway senders in other sites. Geode chooses an unused port number in the specified port number range to start the receiver. If no port numbers in the range are available, an exception is thrown.</p>
<p>The <code class="ph codeph">STARTPORT</code> value is inclusive while the <code class="ph codeph">ENDPORT</code> value is exclusive. For example, if you specify <code class="ph codeph">STARTPORT=&quot;50510&quot;</code> and <code class="ph codeph">ENDPOINT=&quot;50520&quot;</code>, Geode chooses a port value from 50510 to 50519.</p></td>
<td>5000</td>
</tr>
<tr class="even">
<td>end-port</td>
<td><p>Defines the upper bound port number to use when specifying the range of possible port numbers this gateway receiver will use to for connections from gateway senders in other sites. Geode chooses an unused port number in the specified port number range to start the receiver. If no port numbers in the range are available, an exception is thrown.</p>
<p>The <code class="ph codeph">ENDPORT</code> value is exclusive while the <code class="ph codeph">STARTPORT</code> value is inclusive. For example, if you specify <code class="ph codeph">STARTPORT=&quot;50510&quot;</code> and <code class="ph codeph">ENDPOINT=&quot;50520&quot;</code>, Geode chooses a port value from 50510 to 50519.</p></td>
<td>5500</td>
</tr>
<tr class="odd">
<td>bind-address</td>
<td>Network address for connections from gateway senders in other sites. Specify the address as a literal string value.</td>
<td> </td>
</tr>
<tr class="even">
<td>hostname-for-senders</td>
<td>Attribute where you can specify an IP address or hostname for gateway sender connections. If you configure hostname-for-senders, locators will use the provided hostname or IP address when instructing gateway senders on how to connect to gateway receivers. If you provide &ldquo;&rdquo; or null as the value, by default the gateway receiver&rsquo;s bind-address will be sent to clients.</td>
<td> </td>
</tr>
<tr class="odd">
<td>manual-start</td>
<td>When set to false, the gateway receiver will automatically start when the receiver is created. If set to true, you must manually start the receiver.</td>
<td>true</td>
</tr>
<tr class="even">
<td>maximum-time-between-pings</td>
<td>Integer value that specifies the time interval (in milliseconds) to use between pings to connected WAN sites. This value determines the maximum amount of time that can elapse before a remote WAN site is considered offline.</td>
<td>60000</td>
</tr>
<tr class="odd">
<td>socket-buffer-size</td>
<td>An integer value that sets the buffer size (in bytes) of the socket connection for this gateway receiver. This value should match the <code class="ph codeph">socket-buffer-size</code> setting of gateway senders that connect to this receiver.</td>
<td>32768</td>
</tr>
</tbody>
</table>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;cache&gt;
&lt;gateway-receiver start-port="1530" end-port="1551"&gt;
&lt;gateway-transport-filter&gt;&gt;
&lt;class-name&gt;org.apache.geode.util.SampleTransportFilter&lt;/class-name&gt;
&lt;parameter
name="param1"&gt;
&lt;string&gt;"value1"&lt;/string&gt;
&lt;/parameter&gt;
&lt;/gateway-transport-filter&gt;
&lt;/gateway-receiver&gt;
&lt;/cache&gt;
</code></pre>
<h2 id="&lt;gateway-transport-filter&gt;"><a id="gateway-receiver_gateway-transport-filter" class="no-quick-link"></a>&lt;gateway-transport-filter&gt;</h2>
<p>Use a GatewayTransportFilter implementation to process the TCP stream that sends a batch of events that is distributed from one Geode cluster to another over a WAN. A GatewayTransportFilter is typically used to perform encryption or compression on the data that distributed. You install the same GatewayTransportFilter implementation on both a gateway sender and gateway receiver.</p>
<p>Specify the Java class and its initialization parameters with the <code>&lt;class-name&gt;</code> and <code>&lt;parameter&gt;</code> sub-elements. See <a href="#class-name_parameter">&lt;class-name&gt; and &lt;parameter&gt;</a>.</p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;gateway-transport-filter&gt;
&lt;class-name&gt;org.apache.geode.util.SampleTransportFilter&lt;/class-name&gt;
&lt;parameter
name="param1"&gt;
&lt;string&gt;"value1"&lt;/string&gt;
&lt;/parameter&gt;
&lt;/gateway-transport-filter&gt;
</code></pre>
<h2 id="&lt;gateway-conflict-resolver&gt;"><a id="gateway-conflict-resolver" class="no-quick-link"></a>&lt;gateway-conflict-resolver&gt;</h2>
<p>An event-handler plug-in that is called in order to determine whether a potentially conflicting WAN update should be applied to the local cache. A GatewayConflictResolver is invoked if the current value in a cache entry was established by a different distributed system (with a different distributed-system-id) than an event that is attempting to modify the entry. It is not invoked if the event has the same distributed system ID as the event that last changed the entry. See <a href="/docs/guide/15/developing/events/resolving_multisite_conflicts.html#topic_E97BB68748F14987916CD1A50E4B4542">Resolving Conflicting Events</a></p>
<p>Specify the Java class for the gateway conflict resolver plug-in and its initialization parameters with the <code>&lt;class-name&gt;</code> and <code>&lt;parameter&gt;</code> sub-elements. See <a href="#class-name_parameter">&lt;class-name&gt; and &lt;parameter&gt;</a>.</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.util.GatewayConflictResolver</code></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;gateway-conflict-resolver&gt;
&lt;class-name&gt;
myPackage.MyConflictResolver
&lt;/class-name&gt;
&lt;/gateway-conflict-resolver&gt;
</code></pre>
<h2 id="&lt;async-event-queue&gt;"><a id="async-event-queue" class="no-quick-link"></a>&lt;async-event-queue&gt;</h2>
<p>Configures a queue for sending region events to an AsyncEventListener implementation (for example, for write-behind event handling).</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.asyncqueue.AsyncEventQueue</code></p>
<p><strong>&lt;async-event-queue&gt; Attributes</strong></p>
<table>
<colgroup>
<col width="30%" />
<col width="50%" />
<col width="20%" />
</colgroup>
<thead>
<tr class="header">
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>id</td>
<td>Unique identifier for the queue. This attribute is required.</td>
<td>null</td>
</tr>
<tr class="even">
<td>parallel</td>
<td>Value of &ldquo;true&rdquo; or &ldquo;false&rdquo; that specifies the type of queue that Geode creates.</td>
<td>false</td>
</tr>
<tr class="odd">
<td>batch-size</td>
<td>Maximum number of messages that a batch can contain.</td>
<td>100</td>
</tr>
<tr class="even">
<td>batch-time-interval</td>
<td>Maximum number of milliseconds that can elapse between sending batches.</td>
<td>5</td>
</tr>
<tr class="odd">
<td>enable-batch-conflation</td>
<td>Boolean value that determines whether Geode should conflate messages.</td>
<td>false</td>
</tr>
<tr class="even">
<td>disk-store-name</td>
<td>Named disk store to use for storing queue overflow, or for persisting the queue. If you specify a value, the named disk store must exist. If you specify a null value, Geode uses the default disk store for overflow and queue persistence.</td>
<td>null specifies the default disk store</td>
</tr>
<tr class="odd">
<td>disk-synchronous</td>
<td>For regions that write to disk, boolean that specifies whether disk writes are done synchronously for the region.</td>
<td>true</td>
</tr>
<tr class="even">
<td>dispatcher-threads</td>
<td>Number of dispatcher threads that are used to process region events from the queue.</td>
<td>5</td>
</tr>
<tr class="odd">
<td>forward-expiration-destroy</td>
<td>When true, forwards expiration destroy operations to AsyncEventListener.</td>
<td>false</td>
</tr>
<tr class="even">
<td>maximum-queue-memory</td>
<td>Maximum amount of memory in megabytes that the queue can consume before overflowing to disk.</td>
<td>100 mb</td>
</tr>
<tr class="odd">
<td>order-policy</td>
<td>When the <code class="ph codeph">dispatcher-threads</code> attribute is greater than 1, <code class="ph codeph">order-policy</code> configures the way in which multiple dispatcher threads process region events from the queue. This attribute can have one of the following values:
<ul>
<li><strong>key</strong>. When distributing region events from the local queue, multiple dispatcher threads preserve the order of key updates.</li>
<li><strong>thread</strong>. When distributing region events from the local queue, multiple dispatcher threads preserve the order in which a given thread added region events to the queue.</li>
<li><strong>partition</strong>. This option is valid for parallel event queues. When distributing region events from the local queue, multiple dispatcher threads preserve the order in which region events were added to the local queue. For a partitioned region, this means that all region events delivered to a specific partition are delivered in the same order to the remote Geode site. For a distributed region, this means that all key updates delivered to the local queue are distributed to the remote site in the same order.</li>
</ul>
<p>You cannot configure the <code class="ph codeph">order-policy</code> for a parallel event queue, because parallel queues cannot preserve event ordering for regions. Only the ordering of events for a given partition (or in a given queue of a distributed region) can be preserved.</p></td>
<td>key</td>
</tr>
<tr class="even">
<td>persistent</td>
<td>Boolean value that determines whether Geode persists this queue.</td>
<td>False</td>
</tr>
</tbody>
</table>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;cache&gt;
&lt;async-event-queue
id="sampleQueue"
persistent="true"
disk-store-name="exampleStore"
parallel="false"&gt;
&lt;async-event-listener&gt;
&lt;class-name&gt;MyAsyncEventListener&lt;/class-name&gt;
&lt;parameter name="url"&gt;
&lt;string&gt;jdbc:db2:SAMPLE&lt;/string&gt;
&lt;/parameter&gt;
&lt;parameter name="username"&gt;
&lt;string&gt;gfeadmin&lt;/string&gt;
&lt;/parameter&gt;
&lt;parameter name="password"&gt;
&lt;string&gt;admin1&lt;/string&gt;
&lt;/parameter&gt;
&lt;/async-event-listener&gt;
&lt;/async-event-queue&gt;
...
&lt;/cache&gt;
</code></pre>
<h2 id="&lt;async-event-listener&gt;"><a id="async-event-listener" class="no-quick-link"></a>&lt;async-event-listener&gt;</h2>
<p>An AsyncEventListener receives callbacks for events that change region data. You can use an AsyncEventListener implementation as a write-behind cache event handler to synchronize region updates with a database.</p>
<p>Specify the Java class and its initialization parameters with the <code>&lt;class-name&gt;</code> and <code>&lt;parameter&gt;</code> sub-elements. See <a href="#class-name_parameter">&lt;class-name&gt; and &lt;parameter&gt;</a>.</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.asyncqueue.AsyncEventListener</code></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>...
&lt;async-event-listener&gt;
&lt;class-name&gt;MyAsyncEventListener&lt;/class-name&gt;
&lt;parameter name="url"&gt;
&lt;string&gt;jdbc:db2:SAMPLE&lt;/string&gt;
&lt;/parameter&gt;
&lt;parameter name="username"&gt;
&lt;string&gt;gfeadmin&lt;/string&gt;
&lt;/parameter&gt;
&lt;parameter name="password"&gt;
&lt;string&gt;admin1&lt;/string&gt;
&lt;/parameter&gt;
&lt;/async-event-listener&gt;
...
</code></pre>
<h2 id="&lt;cache-server&gt;"><a id="cache-server" class="no-quick-link"></a>&lt;cache-server&gt;</h2>
<p>Configures the cache to serve region data to clients in a client/server caching system. This element indicates the port the server listens on for client communication.</p>
<p>The <code>cacheserver</code> process uses only <code>cache.xml</code> configuration. For application servers, you can set the same configuration properties using the <code>org.apache.geode.cache.server.CacheServer</code> and <code>org.apache.geode.cache.Cache</code> interfaces. For detailed information, see the online Java API documentation.</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.server.CacheServer</code></p>
<p><strong>&lt;cache-server&gt; Attributes</strong></p>
<table>
<colgroup>
<col width="30%" />
<col width="50%" />
<col width="20%" />
</colgroup>
<thead>
<tr class="header">
<th>Attribute</th>
<th>Description</th>
<th>Default Value</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>bind-address</td>
<td>Hostname or IP address that the server is to listen on for client connections. If null, the server listens on the machine’s default address.</td>
<td>null</td>
</tr>
<tr class="even">
<td>hostname-for-clients</td>
<td>Hostname or IP address to pass to the client as the location where the server is listening. When the server connects to the locator it tells the locator the host and port where it is listening for client connections. If the host the server uses by default is one that the client can’t translate into an IP address, the client will have no route to the server’s host and won’t be able to find the server. For this situation, you must supply the server’s alternate hostname for the locator to pass to the client. If null, the server’s <code class="ph codeph">bind-address</code> setting is used.</td>
<td>null</td>
</tr>
<tr class="odd">
<td>load-poll-interval</td>
<td>Frequency, in milliseconds, to poll the load probe for load information on the server.</td>
<td>5000
<p>(5 seconds)</p></td>
</tr>
<tr class="even">
<td>max-connections</td>
<td>Maximum number of client connections for the server. When the maximum is reached, the server refuses additional client connections.
<p>
<b>Note:</b>
Set this at least as high as max-threads.</p></td>
<td>800</td>
</tr>
<tr class="odd">
<td>max-threads</td>
<td>Maximum number of threads allowed in this server to service client connections. When the limit is reached, server threads begin servicing multiple connections. A zero setting causes the server to use a thread for every client connection.
<p>
<b>Note:</b>
Set this no higher than max-connections.</p></td>
<td>0</td>
</tr>
<tr class="even">
<td>maximum-message-count</td>
<td>Maximum number of messages allowed in a subscription queue. When the queue reaches this limit, messages block.
<p>
<b>Note:</b>
Used only if <code class="ph codeph">client-subscription</code> is not configured.</p></td>
<td>230000</td>
</tr>
<tr class="odd">
<td>maximum-time-between-pings</td>
<td>Maximum time, in milliseconds, the server allows to pass between messages or pings indicating a client is healthy.
<p>
<b>Note:</b>
A setting of 0 or a negative number turns off client health monitoring. Be careful not to do this accidentally.</p></td>
<td>60000
<p>(1 minute)</p></td>
</tr>
<tr class="even">
<td>message-time-to-live</td>
<td>Setting used for highly available subscription queues. The expiration time, in seconds, for non-durable messages in the secondary server’s client subscription queue. The system removes non-durable messages that have been in the queue beyond this time. If set to 0 (zero), the messages are never removed.
<p>
<b>Note:</b>
Set this high enough to avoid removing messages that are still valid, to aovid losing messages during server failover.</p></td>
<td>180
<p>(3 minutes)</p></td>
</tr>
<tr class="odd">
<td>port</td>
<td>Port that the server listens on for client communication.</td>
<td>40404</td>
</tr>
<tr class="even">
<td>socket-buffer-size</td>
<td>Size for socket buffers used for server-to-client communication.</td>
<td>32768</td>
</tr>
<tr class="odd">
<td>tcp-no-delay</td>
<td>When set to true, enables TCP_NODELAY for Geode server connections to clients.</td>
<td>false</td>
</tr>
</tbody>
</table>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;cache&gt;
&lt;cache-server
port="40404"
/&gt;
...
&lt;/cache&gt;
</code></pre>
<h2 id="&lt;client-subscription&gt;"><a id="client-subscription" class="no-quick-link"></a>&lt;client-subscription&gt;</h2>
<p>Overflow specification for client subscription queues. Sets a capacity limit on the in-memory queue and specifies where to overflow when capacity is reached. By default no overflow is used. Specified in three parts:</p>
<p><strong>Default:</strong> no overflow</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.server.ClientSubscriptionConfig</code></p>
<p><strong>&lt;client-subscription&gt; Attributes</strong></p>
<table><thead>
<tr>
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead><tbody>
<tr>
<td>eviction-policy</td>
<td>How the capacity is calculated. The options are mem for memory use, entry for message count, and null for no overflow.</td>
<td>null</td>
</tr>
<tr>
<td>capacity</td>
<td>Used if eviction-policy is not null. Specified in megabytes for mem and as a positive integer for entry.</td>
<td>1</td>
</tr>
<tr>
<td>disk-store-name</td>
<td>Used if eviction-policy is not null. Default: default disk store. If specified, the disk-store-name must specify a disk store that is already defined in the cache.</td>
<td>default disk store</td>
</tr>
</tbody></table>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;cache&gt;
&lt;cache-server port=4444&gt;
&lt;client-subscription eviction-policy="entry | mem" capacity=35 overflow-directory="OverflowDir"&gt;&lt;/client-subscription&gt;
...
&lt;/cache-server&gt;
&lt;/cache&gt;
</code></pre>
<h2 id="&lt;custom-load-probe&gt;"><a id="custom-load-probe" class="no-quick-link"></a>&lt;custom-load-probe&gt;</h2>
<p>Application plug-in used to provide current and predicted server load information to the server locators.</p>
<p>Specify the Java class and its initialization parameters with the <code>&lt;class-name&gt;</code> and <code>&lt;parameter&gt;</code> sub-elements. See <a href="#class-name_parameter">&lt;class-name&gt; and &lt;parameter&gt;</a>.</p>
<p><strong>Default:</strong> If this is not defined, the default Geode load probe is used.</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.server.setLoadProbe</code></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;custom-load-probe&gt;
&lt;class-name&gt;
myPackage.MyLoadProbe
&lt;/class-name&gt;
&lt;/custom-load-probe&gt;
</code></pre>
<h2 id="&lt;pool&gt;"><a id="pool" class="no-quick-link"></a>&lt;pool&gt;</h2>
<p>Use for client caches. Defines a client&rsquo;s server pool used to communicate with servers running in a different distributed system.</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.client.PoolFactory</code></p>
<p><strong>&lt;pool&gt; Attributes</strong></p>
<table>
<colgroup>
<col width="30%" />
<col width="50%" />
<col width="20%" />
</colgroup>
<thead>
<tr class="header">
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>free-connection-timeout</td>
<td>Amount of time a thread will wait to get a pool connection before timing out with an exception. This timeout keeps threads from waiting indefinitely when the pool’s <code class="ph codeph">max-connections</code> has been reached and all connections in the pool are in use by other threads.</td>
<td>10000</td>
</tr>
<tr class="even">
<td>idle-timeout</td>
<td>Maximum time, in milliseconds, a pool connection can stay open without being used when there are more than <code class="ph codeph">min-connections</code> in the pool. Pings over the connection do not count as connection use. If set to -1, there is no idle timeout.</td>
<td>5000</td>
</tr>
<tr class="odd">
<td>load-conditioning-interval</td>
<td>Amount of time, in milliseconds, a pool connection can remain open before being eligible for silent replacement to a less-loaded server.</td>
<td>300000
<p>(5 minutes)</p></td>
</tr>
<tr class="even">
<td>max-connections</td>
<td>Maximum number of pool connections the pool can create. If the maximum connections are in use, an operation requiring a client-to-server connection blocks until a connection becomes available or the <code class="ph codeph">free-connection-timeout</code> is reached. If set to -1, there is no maximum. The setting must indicate a cap greater than <code class="ph codeph">min-connections</code>.
<p>
<b>Note:</b>
If you need to use this to cap your pool connections, you should disable the pool attribute <code class="ph codeph">pr-single-hop-enabled</code>. Leaving single hop enabled can increase thrashing and lower performance.</p></td>
<td>-1</td>
</tr>
<tr class="odd">
<td>min-connections</td>
<td>Minimum number of pool connections to keep available at all times. Used to establish the initial connection pool. If set to 0 (zero), no connection is created until an operation requires it. This number is the starting point, with more connections added later as needed, up to the <code class="ph codeph">max-connection</code> setting. The setting must be an integer greater than or equal to 0.</td>
<td>1</td>
</tr>
<tr class="even">
<td>multiuser-authentication</td>
<td>Used for installations with security where you want to accommodate multiple users within a single client. If set to true, the pool provides authorization for multiple user instances in the same client application, and each user accesses the cache through its own <code class="ph codeph">RegionService</code> instance. If false, the client either uses no authorization or just provides credentials for the single client process.</td>
<td>false</td>
</tr>
<tr class="odd">
<td>name</td>
<td>Name of this pool. Used in the client region pool-name to assign this pool to a region in the client cache.
<p>
<b>Note:</b>
This is a required property with no default setting.</p></td>
<td>none</td>
</tr>
<tr class="even">
<td>ping-interval</td>
<td>How often to communicate with the server to show the client is alive, set in milliseconds. Pings are only sent when the ping-interval elapses between normal client messages.
<p>
<b>Note:</b>
Set this lower than the server’s <code class="ph codeph">maximum-time-between-pings</code>.</p></td>
<td>10000</td>
</tr>
<tr class="odd">
<td>pr-single-hop-enabled</td>
<td>Setting used to improve access to partitioned region data in the servers. Indicates whether to use metadata about the partitioned region data storage locations to decide where to send some data requests. This allows a client to send a data operation directly to the server hosting the key. Without this, the client contacts any available server and that server contacts the data store. This is used only for operations that can be carried out on a server-by-server basis, like put, get, and destroy.</td>
<td>true</td>
</tr>
<tr class="even">
<td>read-timeout</td>
<td>Maximum time, in milliseconds, for the client to wait for a response from a server.</td>
<td>10000</td>
</tr>
<tr class="odd">
<td>retry-attempts</td>
<td>Number of times to retry a client request before giving up. If one server fails, the pool moves to the next, and so on until it is successful or it hits this limit. If the available servers are fewer than this setting, the pool will retry servers that have already failed until it reaches the limit. If this is set to -1, the pool tries every available server once.</td>
<td>-1</td>
</tr>
<tr class="even">
<td>server-group</td>
<td>Logical named server group to use from the pool. A null value uses the global server group to which all servers belong.
<p>
<b>Note:</b>
This is only used when the <code class="ph codeph">locator</code> list is defined.</p></td>
<td>null</td>
</tr>
<tr class="odd">
<td>socket-buffer-size</td>
<td>Size for socket buffers from the client to the server. Default: 32768.</td>
<td>32768</td>
</tr>
<tr class="even">
<td>statistic-interval</td>
<td>Interval, in milliseconds, at which to send client statistics to the server. If set to -1, statistics are not sent.</td>
<td>-1</td>
</tr>
<tr class="odd">
<td>subscription-ack-interval</td>
<td>Time, in milliseconds, between messages to the primary server to acknowledge event receipt.
<p>
<b>Note:</b>
Used only when <code class="ph codeph">subscription-redundancy</code> is not ‘0’ (zero).</p></td>
<td>100</td>
</tr>
<tr class="even">
<td>subscription-enabled</td>
<td>Boolean indicating whether the server should connect back to the client and automatically sends server-side cache update information. Any bind address information for the client is automatically passed to the server for use in the callbacks.</td>
<td>false</td>
</tr>
<tr class="odd">
<td>subscription-message-
<p>tracking-timeout</p></td>
<td>Time-to-live, in milliseconds, for entries in the client’s message tracking list.</td>
<td>900000
<p>(15 minutes)</p></td>
</tr>
<tr class="even">
<td>subscription-redundancy</td>
<td>Number of servers to use as backup to the primary for highly available subscription queue management. If set to 0, none are used. If set to -1, all available servers are used.</td>
<td>0</td>
</tr>
<tr class="odd">
<td>thread-local-connections</td>
<td>Boolean specifying whether connections are sticky. True causes the connection to stick to the thread for multiple requests. False causes each connection to be returned to the pool after a request finishes. A sticky connection is returned to the pool when the thread releases it through the <code class="ph codeph">Pool</code> method <code class="ph codeph">releaseThreadLocalConnection</code>, when the <code class="ph codeph">idle-timeout</code> is reached, or when the pool is destroyed.</td>
<td>false</td>
</tr>
</tbody>
</table>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;pool
name="publisher"
subscription-enabled="true"&gt;
&lt;locator
host="myLocatorAddress1"
port="12345"/&gt;
&lt;locator
host="myLocatorAddress2"
port="45678"/&gt;
&lt;/pool&gt;
</code></pre>
<h2 id="&lt;locator&gt;"><a id="locator" class="no-quick-link"></a>&lt;locator&gt;</h2>
<p>Addresses and ports of the locators to connect to. You can define multiple locators for the pool.</p>
<p><strong>Note:</strong>
Provide a locator list or <code>server</code> list, but not both.</p>
<p><strong>API:</strong> <code>org.apache.geode.distributed.LocatorLauncher</code></p>
<p><strong>&lt;locator&gt; Attributes</strong></p>
<table><thead>
<tr>
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead><tbody>
<tr>
<td>host</td>
<td>Hostname of the locator</td>
<td> </td>
</tr>
<tr>
<td>port</td>
<td>Port number of the locator</td>
<td> </td>
</tr>
</tbody></table>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;pool ...&gt;
&lt;locator
host="myLocatorHost"
port="12345"/&gt;
</code></pre>
<h2 id="&lt;server&gt;"><a id="server" class="no-quick-link"></a>&lt;server&gt;</h2>
<p>Addresses and ports of the servers to connect to.</p>
<p><strong>Note:</strong>
Provide a server list or <code>locator</code> list, but not both.</p>
<p><strong>Default:</strong></p>
<p><strong>API:</strong> <code>org.apache.geode.distributed.ServerLauncher</code></p>
<p><strong>&lt;server&gt; Attributes</strong></p>
<table><thead>
<tr>
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead><tbody>
<tr>
<td>host</td>
<td>Hostname of the server</td>
<td> </td>
</tr>
<tr>
<td>port</td>
<td>Port number of the server</td>
<td> </td>
</tr>
</tbody></table>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;pool ...&gt;
&lt;server
host="myServerHost"
port="123456"/&gt;
&lt;/pool&gt;
</code></pre>
<h2 id="&lt;disk-store&gt;"><a id="disk-store" class="no-quick-link"></a>&lt;disk-store&gt;</h2>
<p>Defines a pool of one or more disk stores, which can be used by regions, and client subscription queues.</p>
<p><strong>Default:</strong> The cache default disk store, named &ldquo;DEFAULT&rdquo;, is used when disk is used but no disk store is named.</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.DiskStore</code></p>
<p><strong>&lt;disk-store&gt; Attributes</strong></p>
<table>
<caption><span class="tablecap">Table 10. &lt;disk-store&gt; Attributes</span></caption>
<colgroup>
<col width="30%" />
<col width="50%" />
<col width="20%" />
</colgroup>
<thead>
<tr class="header">
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>name</td>
<td>The name of the Disk Store.</td>
<td> </td>
</tr>
<tr class="even">
<td>auto-compact</td>
<td>Set to true to automatically compact the disk files.</td>
<td> </td>
</tr>
<tr class="odd">
<td>compaction-threshold</td>
<td>The threshold at which an oplog will become compactable. Until it reaches this threshold the oplog will not be compacted.
<p>The threshold is a percentage in the range 0 to 100.</p></td>
<td> </td>
</tr>
<tr class="even">
<td>allow-force-compaction</td>
<td>Set to true to allow disk compaction to be forced on this disk store.</td>
<td> </td>
</tr>
<tr class="odd">
<td>max-oplog-size</td>
<td>The maximum size, in megabytes, of an oplog (operation log) file.</td>
<td> </td>
</tr>
<tr class="even">
<td>time-interval</td>
<td>The number of milliseconds that can elapse before unwritten data is written to disk.</td>
<td> </td>
</tr>
<tr class="odd">
<td>write-buffer-size</td>
<td>The size of the write buffer that this disk store uses when writing data to disk. Larger values may increase performance but use more memory. The disk store allocates one direct memory buffer of this size.</td>
<td> </td>
</tr>
<tr class="even">
<td>queue-size</td>
<td>Maximum number of operations that can be asynchronously queued to be written to disk.</td>
<td> </td>
</tr>
<tr class="odd">
<td>disk-usage-warning-percentage</td>
<td>Disk usage above this threshold generates a warning message. For example, if the threshold is set to 90%, then on a 1 TB drive falling under 100 GB of free disk space generates the warning.
<p>Set to &ldquo;0&rdquo; (zero) to disable.</p></td>
<td>90</td>
</tr>
<tr class="even">
<td>disk-usage-critical-percentage</td>
<td>Disk usage above this threshold generates an error message and shuts down the member&rsquo;s cache. For example, if the threshold is set to 99%, then falling under 10 GB of free disk space on a 1 TB drive generates the error and shuts down the cache.
<p>Set to &ldquo;0&rdquo; (zero) to disable.</p></td>
<td>99</td>
</tr>
</tbody>
</table>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;disk-store
name="DEFAULT"
allow-force-compaction="true"&gt;
&lt;disk-dirs&gt;
&lt;disk-dir&gt;/export/thor/customerData&lt;/disk-dir&gt;
&lt;disk-dir&gt;/export/odin/customerData&lt;/disk-dir&gt;
&lt;disk-dir&gt;/export/embla/customerData&lt;/disk-dir&gt;
&lt;/disk-dirs&gt;
&lt;/disk-store&gt;
</code></pre>
<h2 id="&lt;disk-dirs&gt;"><a id="disk-dirs" class="no-quick-link"></a>&lt;disk-dirs&gt;</h2>
<p>An element of a disk store that defines a set of <code>&lt;disk-dir&gt;</code> elements.</p>
<h2 id="&lt;disk-dir&gt;"><a id="disk-dir" class="no-quick-link"></a>&lt;disk-dir&gt;</h2>
<p>Specifies a region or disk store&rsquo;s disk directory.</p>
<p><strong>&lt;disk-dir&gt; Attributes</strong></p>
<table>
<colgroup>
<col width="30%" />
<col width="50%" />
<col width="20%" />
</colgroup>
<thead>
<tr class="header">
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>dir-size</td>
<td>Maximum amount of space to use for the disk store, in megabytes.</td>
<td>214748364
<p>(2 petabytes)</p></td>
</tr>
</tbody>
</table>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;disk-dir
dir-size="20480"&gt;/host3/users/gf/memberA_DStore&lt;/disk-dir&gt;
</code></pre>
<h2 id="&lt;pdx&gt;"><a id="pdx" class="no-quick-link"></a>&lt;pdx&gt;</h2>
<p>Specifies the configuration for the Portable Data eXchange (PDX) method of serialization.</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.CacheFactory.setPdxReadSerialized</code>, <code>setPdxDiskStore</code>, <code>setPdxPersistent</code>, <code>setPdxIgnoreUnreadFields</code> and <code>org.apache.geode.cache.ClientCacheFactory.setPdxReadSerialized</code>, <code>setPdxDiskStore</code>, <code>setPdxPersistent</code>, <code>setPdxIgnoreUnreadFields</code></p>
<p><strong>&lt;pdx&gt; Attributes</strong></p>
<table><thead>
<tr>
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead><tbody>
<tr>
<td>read-serialized</td>
<td>Set it to true if you want PDX deserialization to produce a PdxInstance instead of an instance of the domain class.</td>
<td> </td>
</tr>
<tr>
<td>ignore-unread-fields</td>
<td>Set it to true if you do not want unread PDX fields to be preserved during deserialization. You can use this option to save memory. Set to true only in members that are only reading data from the cache.</td>
<td> </td>
</tr>
<tr>
<td>persistent</td>
<td>Set to true if you are using persistent regions. This causes the PDX type information to be written to disk.</td>
<td> </td>
</tr>
<tr>
<td>disk-store-name</td>
<td>If using persistence, this attribute allows you to configure the disk store that the PDX type data will be stored in. By default, the default disk store is used.</td>
<td> </td>
</tr>
</tbody></table>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;cache&gt;
&lt;pdx persistent="true" disk-store-name="myDiskStore"&gt;
&lt;pdx-serializer&gt;
&lt;class-name&gt;
org.apache.geode.pdx.ReflectionBasedAutoSerializer
&lt;/class-name&gt;
&lt;parameter name="classes"&gt;
&lt;string&gt;com.company.domain.DomainObject&lt;/string&gt;&gt;
&lt;/parameter&gt;
&lt;/pdx-serializer&gt;
&lt;/pdx&gt;
...
&lt;/cache&gt;
</code></pre>
<h2 id="&lt;pdx-serializer&gt;"><a id="pdx-serializer_24898989679" class="no-quick-link"></a>&lt;pdx-serializer&gt;</h2>
<p>Allows you to configure the PdxSerializer for this Geode member.</p>
<p>Specify the Java class and its initialization parameters with the <code>&lt;class-name&gt;</code> and <code>&lt;parameter&gt;</code> sub-elements. See <a href="#class-name_parameter">&lt;class-name&gt; and &lt;parameter&gt;</a>.</p>
<p><strong>Default:</strong></p>
<p><strong>API:</strong> <code>org.apache.geode.cache.CacheFactory.setPdxSerializer</code></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;cache&gt;
&lt;pdx&gt;
&lt;pdx-serializer&gt;
&lt;class-name&gt;com.company.ExamplePdxSerializer&lt;/class-name&gt;
&lt;/pdx-serializer&gt;
&lt;/pdx&gt;
...
&lt;/cache&gt;
</code></pre>
<h2 id="&lt;region-attributes&gt;"><a id="region-attributes" class="no-quick-link"></a>&lt;region-attributes&gt;</h2>
<p>Specifies a region attributes template that can be named (by <code>id</code>) and referenced (by <code>refid</code>) later in the <code>cache.xml</code> and through the API.</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.RegionFactory</code> or <code>org.apache.geode.cache.ClientRegionFactory</code></p>
<p><strong>&lt;region-attributes&gt; Attributes</strong></p>
<table>
<colgroup>
<col width="20%" />
<col width="60%" />
<col width="20%" />
</colgroup>
<thead>
<tr class="header">
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>concurrency-level</td>
<td>Gives an estimate of the maximum number of application threads that will concurrently access a region entry at one time. This attribute does not apply to partitioned regions. This attribute helps Geode optimize the use of system resources and reduce thread contention. This sets an initial parameter on the underlying <code class="ph codeph">java.util.ConcurrentHashMap</code> used for storing region entries.
<p>
<b>Note:</b>
Before you modify this, read the concurrency level description, then see the Java API documentation for <code class="ph codeph">java.util.ConcurrentHashMap</code>.</p>
<p><strong>API:</strong> <code class="ph codeph">setConcurrencyLevel</code></p>
<p><strong>Example:</strong></p>
<pre class="pre codeblock language-xml"><code>&lt;region-attributes
concurrency-level=&quot;10&quot;&gt;
&lt;/region-attributes&gt;</code></pre></td>
<td>16 (threads)</td>
</tr>
<tr class="even">
<td>data-policy</td>
<td><p>Specifies how the local cache handles data for a region. This setting controls behavior such as local data storage and region initialization.</p>
<p>
<b>Note:</b>
Configure the most common options using the region shortcuts, <code class="ph codeph">RegionShortcut</code> and <code class="ph codeph">ClientRegionShortcut</code>. The default <code class="ph codeph">data-policy</code> of <code class="ph codeph">normal</code> specifies local cache storage. The empty policy specifies no local storage. In the region shortcuts, empty corresponds to the settings with the string <code class="ph codeph">PROXY</code>. You can use an empty region for event delivery to and from the local cache without the memory overhead of data storage.</p>
<p>You can specify the following data policies:</p>
<div class="p">
<table>
<tbody>
<tr class="odd">
<td>empty</td>
<td>No data storage in the local cache. The region always appears empty. Use this for event delivery to and from the local cache without the memory overhead of data storage - zero-footprint producers that only distribute data to others and zero-footprint consumers that only see events. To receive events with this, set the region&rsquo;s <code class="ph codeph">subscription-attributes</code> <code class="ph codeph">interest-policy</code> to all.</td>
</tr>
<tr class="even">
<td>normal</td>
<td>Data used locally (accessed with <code class="ph codeph">get</code>, stored with <code class="ph codeph">put</code>, etc.) is stored in the local cache. This policy allows the contents in the cache to differ from other caches.</td>
</tr>
<tr class="odd">
<td>partition</td>
<td>Data is partitioned across local and remote caches using the automatic data distribution behavior of partitioned regions. Additional configuration is done in the <code class="ph codeph">partition-attributes</code>.</td>
</tr>
<tr class="even">
<td>replicate</td>
<td>The region is initialized with the data from other caches. After initialization, all events for the distributed region are automatically copied into the local region, maintaining a replica of the entire distributed region in the local cache. Operations that would cause the contents to differ with other caches are not allowed. This is compatible with local <code class="ph codeph">scope</code>, behaving the same as for normal.</td>
</tr>
<tr class="odd">
<td>persistent-partition</td>
<td>Behaves the same as <code class="ph codeph">partition</code> and also persists data to disk.</td>
</tr>
<tr class="even">
<td>persistent-replicate</td>
<td>Behaves the same as <code class="ph codeph">replicate</code> and also persists data to disk.</td>
</tr>
<tr class="odd">
<td>preloaded</td>
<td>Initializes like a replicated region, then, once initialized, behaves like a normal region.</td>
</tr>
</tbody>
</table>
<p><strong>API:</strong> <code class="ph codeph">setDataPolicy</code>
</div>
<p><strong>Example</strong>:</p>
<pre class="pre codeblock language-xml"><code>&lt;region-attributes
data-policy=&quot;replicate&quot;&gt;
&lt;/region-attributes&gt;</code></pre>
<p>This is similar to using a region shortcut with<code class="ph codeph">refid</code>, however when you use the REPLICATE region shortcut, it automatically sets the region&rsquo;s scope to <code class="ph codeph">distributed-ack</code>.</p>
<pre class="pre codeblock language-xml"><code>&lt;region-attributes
refid=&quot;REPLICATE&quot;&gt;
&lt;/region-attributes&gt;</code></pre>
<p>If you use <code class="ph codeph">data-policy</code>, you must set the scope explicitly.</p></td>
<td>normal</td>
</tr>
<tr class="odd">
<td>enable-async-conflation</td>
<td><p>For TCP/IP distributions between peers, specifies whether to allow aggregation of asynchronous messages sent by the producer member for the region. This is a special-purpose voolean attribute that applies only when asynchronous queues are used for slow consumers. A false value disables conflation so that all asynchronous messages are sent individually. This special-purpose attribute gives you extra control over peer-to-peer communication between distributed regions using TCP/IP. This attribute does not apply to client/server communication or to communication using the UDP unicast or IP multicast protocols.</p>
<p>
<b>Note:</b>
To use this attribute, the <code class="ph codeph">multicast-enabled</code> region attribute <code class="ph codeph">disable-tcp</code> in <code class="ph codeph">gemfire.properties</code> must be false (the default for both). In addition, asynchronous queues must be enabled for slow consumers, specified with the <code class="ph codeph">async</code>* gemfire properties.</p>
<p><strong>API:</strong> <code class="ph codeph">setEnableAsyncConflation</code></p>
<p><strong>Example:</strong></p>
<pre class="pre codeblock language-xml"><code>&lt;region-attributes
enable-async-conflation=&quot;false&quot;&gt;
&lt;/region-attributes&gt;</code></pre></td>
<td>true</td>
</tr>
<tr class="odd">
<td>enable-subscription-conflation</td>
<td><p>Boolean for server regions that specifies whether the server can conflate its messages to the client. A true value enables conflation.</p>
<p>
<b>Note:</b>
<p>The client can override this setting with the <code class="ph codeph">conflate-events</code> property in its <code class="ph codeph">gemfire.properties</code>.</p>
<p><strong>API:</strong> <code class="ph codeph">setEnableSubscriptionConflation</code></p>
<p><strong>Example:</strong></p>
<pre class="pre codeblock language-xml"><code>&lt;region-attributes
enable-subscription-conflation=&quot;true&quot;&gt;
&lt;/region-attributes&gt;</code></pre></td>
<td>false</td>
</tr>
<tr class="even">
<td>gateway-sender-ids</td>
<td><p>Specifies one or more gateway sender IDs to use for distributing region events to remote Geode sites. Specify multiple IDs as a comma-separated list.</p>
<p><strong>API:</strong> <code class="ph codeph">addGatewaySenderId</code></p>
<p><strong>Example:</strong></p>
<pre class="pre codeblock language-xml"><code>&lt;region-attributes
gateway-sender-ids=&quot;nwsender,swsender&quot;&gt;
&lt;/region-attributes&gt;</code></pre></td>
<td>not set</td>
</tr>
<tr class="odd">
<td>async-event-queue-ids</td>
<td>Specifies one or more asynchronous event queues to use for distributing region events an <code class="ph codeph">AsyncEventListener</code> implementation (for example, for write-behind cache event handling). Specify multiple IDs as a comma-separated list.
<p><strong>API</strong>: <code class="ph codeph">addAsyncEventQueueId</code></p>
<strong>Example</strong>:
<pre class="pre codeblock language-xml"><code>&lt;region-attributes
async-event-queue-ids=&quot;customerqueue,ordersqueue&quot;&gt;
&lt;/region-attributes&gt;</code></pre></td>
<td>not set</td>
</tr>
<tr class="even">
<td>hub-id</td>
<td><p>If the <code class="ph codeph">enable-gateway</code> attribute is set to true, a comma-separated list of gateway hub IDs that receive events from the region.</p>
<p>Used only with GemFire version 6.x gateway configurations. For GemFire 7.0 configuration, see the <code class="ph codeph">gateway-sender-id</code> attribute of the <code class="ph codeph">&lt;region-attributes&gt;</code> element.</p></td>
<td>null</td>
</tr>
<tr class="odd">
<td>id</td>
<td><p>Stores the region attribute settings in the cache with this identifier. Once stored, the attributes can be retrieved using the region attribute <code class="ph codeph">refid</code>.</p>
<p><strong>API:</strong> <code class="ph codeph">setId</code></p>
<p><strong>Example:</strong></p>
<pre class="pre codeblock language-xml"><code>&lt;region-attributes
id=&quot;persistent-replicated&quot;&gt;
&lt;/region-attributes&gt;</code></pre></td>
<td>not set</td>
</tr>
<tr class="even">
<td>ignore-jta</td>
<td><p>Boolean that determines whether operations on this region participate in active JTA transactions or ignore them and operate outside of the transactions. This is primarily used in cache loaders, writers, and listeners that need to perform non-transactional operations on a region, such as caching a result set.</p>
<p><strong>API:</strong> <code class="ph codeph">setIgnoreJTA</code></p>
<p><strong>Example:</strong></p>
<pre class="pre codeblock language-xml"><code>&lt;region-attributes
ignore-jta=&quot;true&quot;&gt;
&lt;/region-attributes&gt;</code></pre></td>
<td>false</td>
</tr>
<tr class="odd">
<td>index-update-type</td>
<td><p>Specifies whether region indexes are maintained synchronously with region modifications, or asynchronously in a background thread. In the <code class="ph codeph">cache.xml</code> file, this is set as a value, asynchronous or synchronous, assigned to the <code class="ph codeph">index-update-type</code> region attribute. Set this through the API by passing a boolean to the <code class="ph codeph">setIndexMaintenanceSynchronous</code> method.</p>
<p><strong>API:</strong> <code class="ph codeph">setIndexMaintenanceSynchronous</code></p>
<p><strong>Example:</strong></p>
<pre class="pre codeblock language-xml"><code>&lt;region-attributes
index-update-type=&quot;asynchronous&quot;&gt;
&lt;/region-attributes&gt;</code></pre></td>
<td>synchronous updates</td>
</tr>
<tr class="even">
<td>initial-capacity</td>
<td><p>Together with the <code class="ph codeph">load-factor</code> region attribute, sets the initial parameters on the underlying <code class="ph codeph">java.util.ConcurrentHashMap</code> used for storing region entries.</p>
<p><strong>API:</strong> <code class="ph codeph">setInitialCapacity</code></p>
<p><strong>Example:</strong></p>
<pre class="pre codeblock language-xml"><code>&lt;region-attributes
initial-capacity=&quot;20&quot;&gt;
&lt;/region-attributes&gt;</code></pre></td>
<td>16</td>
</tr>
<tr class="odd">
<td>is-lock-grantor</td>
<td><p>Determines whether this member defines itself as the lock grantor for the region at region creation time. This only specifies whether the member becomes lock grantor at creation and does not reflect the current state of the member’s lock grantor status. The member’s lock grantor status may change if another member subsequently defines the region with <code class="ph codeph">is-lock-grantor</code> set to true. This attribute is only relevant for regions with <code class="ph codeph">global</code> <code class="ph codeph">scope</code>, as only they allow locking. It affects implicit and explicit locking.</p>
<p><strong>API:</strong> <code class="ph codeph">setLockGrantor</code></p>
<p><strong>Example:</strong></p>
<pre class="pre codeblock language-xml"><code>&lt;region-attributes
is-lock-grantor=&quot;true&quot;&gt;
&lt;/region-attributes&gt;</code></pre></td>
<td>false</td>
</tr>
<tr class="even">
<td>load-factor</td>
<td><p>Together with the initial-capacity region attribute, sets the initial parameters on the underlying <code class="ph codeph">java.util.ConcurrentHashMap</code> used for storing region entries. This must be a floating point number between 0 and 1, inclusive.</p>
<p>
<b>Note:</b>
<p>Before you set this attribute, read the discussion of initial capacity and load factor, then see the Java API documentation for <code class="ph codeph">java.util.ConcurrentHashMap</code>.</p>
<p><strong>API:</strong> <code class="ph codeph">setLoadFactor</code></p>
<p><strong>Example:</strong></p>
<pre class="pre codeblock language-xml"><code>&lt;region-attributes
load-factor=&quot;0.85&quot;&gt;
&lt;/region-attributes&gt;</code></pre></td>
<td>.75</td>
</tr>
<tr class="odd">
<td>mirror-type</td>
<td>Deprecated</td>
<td> </td>
</tr>
<tr class="even">
<td>multicast-enabled</td>
<td><p>Boolean that specifies whether distributed operations on a region should use multicasting. To enable this, multicast must be enabled for the distributed system with the <code class="ph codeph">mcast-port</code> <code class="ph codeph">gemfire.properties</code> setting.</p>
<p><strong>API:</strong> <code class="ph codeph">setMulticastEnabled</code></p>
<p><strong>Example:</strong></p>
<pre class="pre codeblock language-xml"><code>&lt;region-attributes
multicast-enabled=&quot;true&quot;&gt;
&lt;/region-attributes&gt;</code></pre></td>
<td>false</td>
</tr>
<tr class="odd">
<td>pool-name</td>
<td><p>Identifies the region as a client region and specifies the server pool the region is to use. The named pool must be defined in the client cache before the region is created. If this is not set, the region does not connect to the servers as a client region.</p>
<p><strong>API:</strong> <code class="ph codeph">setPoolName</code></p>
<p><strong>Examples:</strong></p>
<p>This declaration creates the region as a client region with a server pool named DatabasePool. This pool-name specification is required, as there are multiple pools in the client cache:</p>
<pre class="pre codeblock language-xml"><code>&lt;client-cache&gt;
&lt;pool name=&quot;DatabasePool&quot;
subscription-enabled=&quot;true&quot;&gt;
...
&lt;/pool&gt;
&lt;pool &gt;
name=&quot;OtherPool&quot;
subscription-enabled=&quot;true&quot;&gt;
...
&lt;/pool&gt;
&lt;region ...
&lt;region-attributes
pool-name=&quot;DatabasePool&quot;&gt;
&lt;/region-attributes&gt;
...</code></pre>
<p>This declaration creates the region as a client region assigned the single pool that is defined for the client cache. Here the pool-name specification is implied to be the only pool that exists in the cache:</p>
<pre class="pre codeblock language-xml"><code>&lt;client-cache&gt;
&lt;pool
name=&quot;publisher&quot;
subscription-enabled=&quot;true&quot;&gt;
...
&lt;/pool&gt;
&lt;region
name=&quot;myRegion&quot;
refid=&quot;CACHING_PROXY&quot;&gt;
&lt;/region&gt;
&lt;/client-cache&gt;</code></pre></td>
<td>not set</td>
</tr>
<tr class="even">
<td>disk-store-name</td>
<td><p>Assigns the region to the disk store with this name from the disk stores defined for the cache. Persist region data to disk by defining the region as persistent using the Shortcut Attribute Options or data-policy settings. Overflow data to disk by implementing LRU eviction-attributes with an action of overflow to disk. Each disk store defines the file system directories to use, how data is written to disk, and other disk storage maintenance properties. In addition, the <code class="ph codeph">disk-synchronous</code> region attribute specifies whether writes are done synchronously or asynchronously.</p>
<p><strong>API:</strong> <code class="ph codeph">setDiskStoreName</code></p>
<p><strong>Example:</strong></p>
<pre class="pre codeblock language-xml"><code>&lt;region-attributes
disk-store-name=&quot;myStoreA&quot; &gt;
&lt;/region-attributes&gt;</code></pre></td>
<td>null</td>
</tr>
<tr class="odd">
<td>disk-synchronous</td>
<td><p>For regions that write to disk, boolean that specifies whether disk writes are done synchronously for the region.</p>
<p><strong>API:</strong> <code class="ph codeph">setDiskSynchronous</code></p>
<p><strong>Example:</strong></p>
<pre class="pre codeblock language-xml"><code>&lt;region-attributes
disk-store-name=&quot;myStoreA&quot;
disk-synchronous=&quot;true&quot;&gt;
&lt;/region-attributes&gt;</code></pre></td>
<td>true</td>
</tr>
<tr class="even">
<td>refid</td>
<td><p>Retrieves region shortcuts and user-defined named region attributes for attributes initialization</p>
<p><strong>API:</strong> <code class="ph codeph">setRefId</code></p>
<p><strong>Example:</strong></p>
<pre class="pre codeblock language-xml"><code>&lt;region-attributes
refid=&quot;persistent-replicated&quot;&gt;
&lt;!-- Override any stored
attribute settings that you
need to ... --&gt;
&lt;/region-attributes&gt;</code></pre></td>
<td>not set</td>
</tr>
<tr class="odd">
<td>scope</td>
<td><p>Definition: Determines how updates to region entries are distributed to the other caches in the distributed system where the region and entry are defined. Scope also determines whether to allow remote invocation of some of the region’s event handlers, and whether to use region entry versions to provide consistent updates across replicated regions.</p>
<p>
<b>Note:</b>
<p>You can configure the most common of these options with Geode region shortcuts in <code class="ph codeph">RegionShortcut</code> and <code class="ph codeph">ClientRegionShortcut</code>.</p>
<p>
<b>Note:</b>
<p>Server regions that are not partitioned must be replicated with <code class="ph codeph">distributed-ack</code> or <code class="ph codeph">global</code> scope. The region shortcuts that specify <code class="ph codeph">REPLICATE</code> have <code class="ph codeph">distributed-ack</code> scope.</p>
<p>Set one of the following scope values:</p>
<div class="p">
<table>
<tbody>
<tr class="odd">
<td>local</td>
<td>No distribution. The region is visible only to threads running inside the member.</td>
</tr>
<tr class="even">
<td>distributed-no-ack</td>
<td>Events are distributed to remote caches with no acknowledgement required.</td>
</tr>
<tr class="odd">
<td>distributed-ack</td>
<td>Events are distributed to remote caches with receipt acknowledgement required. Region entry versions are used to provide consistent updates across members of the distributed system.</td>
</tr>
<tr class="even">
<td>global</td>
<td>Events are distributed to remote caches with global locking to ensure distributed cache consistency.</td>
</tr>
</tbody>
</table>
<strong>API:</strong> <code class="ph codeph">setScope</code>
</div>
<p><strong>Example:</strong></p>
<pre class="pre codeblock language-xml"><code>&lt;region-attributes
scope=&quot;distributed-ack&quot;&gt;
&lt;/region-attributes&gt;</code></pre></td>
<td>distributed-no-ack</td>
</tr>
<tr class="even">
<td>statistics-enabled</td>
<td>Boolean specifying whether to gather statistics on the region. Must be true to use expiration on the region. Geode provides a standard set of statistics for cached regions and region entries, which give you information for fine-tuning your distributed system. Unlike other Geode statistics, statistics for local and distributed regions are not archived and cannot be charted. They are kept in instances of <code class="ph codeph">org.apache.geode.cache.CacheStatistics</code> and made available through the region and its entries through the <code class="ph codeph">Region.getStatistics</code> and <code class="ph codeph">Region.Entry.getStatistics</code> methods.
<p><strong>API:</strong> <code class="ph codeph">setStatisticsEnabled</code></p>
<p><strong>Example:</strong></p>
<pre class="pre codeblock language-xml"><code>&lt;region-attributes
statistics-enabled=&quot;true&quot;&gt;
&lt;/region-attributes&gt;</code></pre></td>
<td>false</td>
</tr>
<tr class="odd">
<td>cloning-enabled</td>
<td><p>Determines how <code class="ph codeph">fromDelta</code> applies deltas to the local cache for delta propagation. When true, the updates are applied to a clone of the value and then the clone is saved to the cache. When false, the value is modified in place in the cache.</p>
<p><strong>API:</strong> <code class="ph codeph">setCloningEnabled</code></p>
<p><strong>Example:</strong></p>
<pre class="pre codeblock language-xml"><code>&lt;region-attributes
cloning-enabled=&quot;true&quot;&gt;
&lt;/region-attributes&gt;</code></pre></td>
<td>false</td>
</tr>
<tr class="even">
<td>concurrency-checks-enabled</td>
<td><p>Determines whether members perform checks to provide consistent handling for concurrent or out-of-order updates to distributed regions. See <a href="/docs/guide/15/developing/distributed_regions/region_entry_versions.html#topic_CF2798D3E12647F182C2CEC4A46E2045">Consistency for Region Updates</a>.</p>
<p>
<b>Note:</b>
Applications that use a <code class="ph codeph">client-cache</code> may want to disable concurrency checking in order to see all events for a region. Geode server members can continue using concurrency checks for the region, but they will pass all events to the client cache. This configuration ensures that the client sees all events, but it does not prevent the client cache from becoming out-of-sync with the server cache.</p>
<p><strong>API:</strong> <code class="ph codeph">setConcurrencyChecksEnabled</code></p>
<p><strong>Example:</strong></p>
<pre class="pre codeblock language-xml"><code>&lt;region-attributes
concurrency-checks-enabled=&quot;true&quot;&gt;
&lt;/region-attributes&gt;</code></pre></td>
<td>true</td>
</tr>
<tr class="odd">
<td>off-heap</td>
<td><p>Specifies that the region uses off-heap memory to store entry values, including values for region entries and queue entries. The region will still use heap memory for everything else, such as entry keys and the ConcurrentHashMap.</p>
<p><strong>API:</strong> <code class="ph codeph">setOffHeap</code></p>
<p><strong>Example:</strong></p>
<pre class="pre codeblock language-xml"><code>&lt;region-attributes
off-heap=&quot;true&quot;&gt;
&lt;/region-attributes&gt;</code></pre></td>
<td>false</td>
</tr>
</tbody>
</table></p>
<h2 id="&lt;key-constraint&gt;"><a id="key-constraint" class="no-quick-link"></a>&lt;key-constraint&gt;</h2>
<p>Defines the type of object to be allowed for the region entry keys. This must be a fully-qualified class name. The attribute ensures that the keys for the region entries are all of the same class. If key-constraint is not used, the region’s keys can be of any class. This attribute, along with value-constraint, is useful for querying and indexing because it provides object type information to the query engine.</p>
<p><strong>Note:</strong>
Set the constraint in every cache where you create or update the region entries. For client/server installations, match constraints between client and server and between distributed systems. The constraint is only checked in the cache that does the entry <code>put</code> or <code>create</code> operation. To avoid deserializing the object, the constraint is not checked when the entry is distributed to other caches.</p>
<p><strong>Default:</strong> not set</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.RegionFactory.setKeyConstraint</code></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;region-attributes&gt;
&lt;key-constraint&gt;
java.lang.String
&lt;/key-constraint&gt;
&lt;/region-attributes&gt;
</code></pre>
<h2 id="&lt;value-constraint&gt;"><a id="value-constraint" class="no-quick-link"></a>&lt;value-constraint&gt;</h2>
<p>Defines the type of object to be allowed for the region entry values. This must be a fully-qualified class name. If value constraint isn’t used, the region’s value can be of any class. This attribute, along with <code>key-constraint</code>, is useful for querying and indexing because it provides object type information to the query engine.</p>
<p><strong>Note:</strong>
Set the constraint in every cache where you create or update the region entries. For client/server installations, match constraints between client and server and between distributed systems. The constraint is only checked in the cache that does the entry <code>put</code> or <code>create</code> operation. To avoid deserializing the object, the constraint is not checked when the entry is distributed to other caches.</p>
<p><strong>Default:</strong> not set</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.RegionFactory.setValueConstraint</code></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;region-attributes&gt;
&lt;value-constraint&gt;
cacheRunner.Portfolio
&lt;/value-constraint&gt;
&lt;/region-attributes&gt;
</code></pre>
<h2 id="&lt;region-time-to-live&gt;"><a id="region-time-to-live" class="no-quick-link"></a>&lt;region-time-to-live&gt;</h2>
<p>Expiration setting that specifies how long the region can remain in the cache without anyone accessing or updating it.</p>
<p><strong>Default:</strong> not set - no expiration of this type</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.RegionFactory.setRegionTimeToLive</code></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;region-attributes
statistics-enabled="true"&gt;
&lt;region-time-to-live&gt;
&lt;expiration-attributes
timeout="3600"
action="local-destroy"/&gt;
&lt;/region-time-to-live&gt;
&lt;/region-attributes&gt;
</code></pre>
<h2 id="&lt;expiration-attributes&gt;"><a id="expiration-attributes" class="no-quick-link"></a>&lt;expiration-attributes&gt;</h2>
<p>Within the <code>entry-time-to-live</code> or <code>entry-idle-time</code> element, this element specifies the expiration rules for removing old region entries that you are not using. You can destroy or invalidate entries, either locally or across the distributed system. Within the <code>region-time-to-live</code> or <code>region-idle-time</code> element, this element specifies the expiration rules for the entire region.</p>
<p><strong>API:</strong> See APIs for <code>entry-time-to-live</code>, <code>entry-idle-time</code>, <code>region-time-to-live</code>, <code>region-idle-time</code></p>
<p><strong>&lt;expiration-attributes&gt; Attributes</strong></p>
<table>
<colgroup>
<col width="20%" />
<col width="60%" />
<col width="20%" />
</colgroup>
<thead>
<tr class="header">
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>timeout</td>
<td>Number of seconds before a region or an entry expires. If timeout is not specified, it defaults to zero (which means no expiration).</td>
<td>0</td>
</tr>
<tr class="even">
<td>action</td>
<td>Action that should take place when a region or an entry expires.
<div class="p">
Select one of the following expiration actions:
<table>
<tbody>
<tr class="odd">
<td><span class="keyword option">local-destroy</span></td>
<td>Removes the region or entry from the local cache, but does not distribute the removal operation to remote members. You cannot use this action on partitioned region entries.</td>
</tr>
<tr class="even">
<td><span class="keyword option">destroy</span></td>
<td>Removes the region or entry completely from the cache. Destroy actions are distributed according to the region&rsquo;s distribution settings. Use this option when the region or entry is no longer needed for any application in the distributed system.</td>
</tr>
<tr class="odd">
<td><span class="keyword option">invalidate</span></td>
<td>Default expiration action. Marks an entry or all entries in the region as invalid. Distributes the invalidation according to the region&rsquo;s scope. This is the proper choice when the region or the entry is no longer valid for any application in the distributed system.</td>
</tr>
<tr class="even">
<td><span class="keyword option">local-invalidate</span></td>
<td>Marks an entry or all entries in the region as invalid but does not distribute the operation. You cannot use this action on partitioned region entries. Local region invalidation is only supported for regions that are not configured as replicated regions.</td>
</tr>
</tbody>
</table>
<p></div></td>
<td>invalidate</td>
</tr>
</tbody>
</table></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;region-attributes
statistics-enabled="true"&gt;
&lt;region-time-to-live&gt;
&lt;expiration-attributes
timeout="60"
action="local-destroy"/&gt;
&lt;/region-time-to-live&gt;
&lt;/region-attributes&gt;
</code></pre>
<h2 id="&lt;custom-expiry&gt;"><a id="custom-expiry" class="no-quick-link"></a>&lt;custom-expiry&gt;</h2>
<p>Specifies the custom class that implements <code>org.apache.geode.cache.CustomExpiry</code>. You define this class in order to override the region-wide settings for specific entries. See <a href="/docs/guide/15/developing/expiration/configuring_data_expiration.html">Configure Data Expiration</a> for an example.</p>
<p>Specify the Java class and its initialization parameters with the <code>&lt;class-name&gt;</code> and <code>&lt;parameter&gt;</code> sub-elements.</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.RegionFactory.setCustomEntryIdleTimeout</code>, <code>setCustomeEntryTimeToLive</code></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;region-attributes&gt;
&lt;expiration-attributes
timeout="60"
action="local-destroy"&gt;
&lt;custom-expiry&gt;
&lt;class-name&gt;
com.megaconglomerate.mypackage.MyClass
&lt;/class-name&gt;
&lt;/custom-expiry&gt;
&lt;/region-attributes&gt;
</code></pre>
<p>Specify the Java class and its initialization parameters with the <code>&lt;class-name&gt;</code> and <code>&lt;parameter&gt;</code> sub-elements.</p>
<h2 id="&lt;region-idle-time&gt;"><a id="region-idle-time" class="no-quick-link"></a>&lt;region-idle-time&gt;</h2>
<p>Expiration setting that specifies how long the region can remain in the cache without anyone accessing it.</p>
<p><strong>Note:</strong>
To ensure reliable read behavior across the partitioned region, use <code>region-time-to-live</code> for region expiration instead of this setting.</p>
<p><strong>Default:</strong> not set - no expiration of this type</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.RegionFactory.setRegionIdleTimeout</code></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;region-attributes statistics-enabled="true"&gt;
&lt;region-idle-time&gt;
&lt;expiration-attributes
timeout="3600"
action="local-destroy"/&gt;
&lt;/region-idle-time&gt;
&lt;/region-attributes&gt;
</code></pre>
<h2 id="&lt;expiration-attributes&gt;"><a id="region-idle-time_expiration-attributes" class="no-quick-link"></a>&lt;expiration-attributes&gt;</h2>
<p>Within the <code>entry-time-to-live</code> or <code>entry-idle-time</code> element, this element specifies the expiration rules for removing old region entries that you are not using. You can destroy or invalidate entries, either locally or across the distributed system. Within the <code>region-time-to-live</code> or <code>region-idle-time</code> element, this element specifies the expiration rules for the entire region.</p>
<p><strong>API:</strong> See APIs for <code>entry-time-to-live</code>, <code>entry-idle-time</code>, <code>region-time-to-live</code>, <code>region-idle-time</code></p>
<p><strong>&lt;expiration-attributes&gt; Attributes</strong></p>
<table>
<colgroup>
<col width="20%" />
<col width="60%" />
<col width="20%" />
</colgroup>
<thead>
<tr class="header">
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>timeout</td>
<td>Number of seconds before a region or an entry expires. If timeout is not specified, it defaults to zero (which means no expiration).</td>
<td>0</td>
</tr>
<tr class="even">
<td>action</td>
<td>Action that should take place when a region or an entry expires.
<div class="p">
Select one of the following expiration actions:
<table>
<tbody>
<tr class="odd">
<td><span class="keyword option">local-destroy</span></td>
<td>Removes the region or entry from the local cache, but does not distribute the removal operation to remote members. You cannot use this action on partitioned region entries.</td>
</tr>
<tr class="even">
<td><span class="keyword option">destroy</span></td>
<td>Removes the region or entry completely from the cache. Destroy actions are distributed according to the region&rsquo;s distribution settings. Use this option when the region or entry is no longer needed for any application in the distributed system.</td>
</tr>
<tr class="odd">
<td><span class="keyword option">invalidate</span></td>
<td>Default expiration action. Marks an entry or all entries in the region as invalid. Distributes the invalidation according to the region&rsquo;s scope. This is the proper choice when the region or the entry is no longer valid for any application in the distributed system.</td>
</tr>
<tr class="even">
<td><span class="keyword option">local-invalidate</span></td>
<td>Marks an entry or all entries in the region as invalid but does not distribute the operation. You cannot use this action on partitioned region entries. Local region invalidation is only supported for regions that are not configured as replicated regions.</td>
</tr>
</tbody>
</table>
<p></div></td>
<td>invalidate</td>
</tr>
</tbody>
</table></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;region-attributes
statistics-enabled="true"&gt;
&lt;region-idle-time&gt;
&lt;expiration-attributes
timeout="60"
action="local-destroy"/&gt;
&lt;/region-idle-time&gt;
&lt;/region-attributes&gt;
</code></pre>
<h2 id="&lt;custom-expiry&gt;"><a id="region-idle-time_custom-expiry" class="no-quick-link"></a>&lt;custom-expiry&gt;</h2>
<p>Specifies the custom class that implements <code>org.apache.geode.cache.CustomExpiry</code>. You define this class in order to override the region-wide settings for specific entries. See <a href="/docs/guide/15/developing/expiration/configuring_data_expiration.html">Configure Data Expiration</a> for an example.</p>
<p>Specify the Java class and its initialization parameters with the <code>&lt;class-name&gt;</code> and <code>&lt;parameter&gt;</code> sub-elements.</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.RegionFactory.setCustomEntryIdleTimeout</code>, <code>setCustomeEntryTimeToLive</code></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;region-attributes&gt;
&lt;expiration-attributes
timeout="60"
action="local-destroy"&gt;
&lt;custom-expiry&gt;
&lt;class-name&gt;
com.megaconglomerate.mypackage.MyClass
&lt;/class-name&gt;
&lt;/custom-expiry&gt;
&lt;/region-attributes&gt;
</code></pre>
<p>Specify the Java class and its initialization parameters with the <code>&lt;class-name&gt;</code> and <code>&lt;parameter&gt;</code> sub-elements.</p>
<h2 id="&lt;entry-time-to-live&gt;"><a id="entry-time-to-live" class="no-quick-link"></a>&lt;entry-time-to-live&gt;</h2>
<p>Expiration setting that specifies how long the region’s entries can remain in the cache without anyone accessing or updating them. See <a href="#expiration-attributes">&lt;expiration-attributes&gt;</a> for details.</p>
<p><strong>Default:</strong> not set - no expiration of this type.</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.RegionFactory.setEntryTimeToLive</code></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;region-attributes
statistics-enabled="true"&gt;
&lt;entry-time-to-live&gt;
&lt;expiration-attributes
timeout="60"
action="local-destroy"/&gt;
&lt;/entry-time-to-live&gt;
&lt;/region-attributes&gt;
</code></pre>
<h2 id="&lt;expiration-attributes&gt;"><a id="entry-time-to-live_expiration-attributes" class="no-quick-link"></a>&lt;expiration-attributes&gt;</h2>
<p>Within the <code>entry-time-to-live</code> or <code>entry-idle-time</code> element, this element specifies the expiration rules for removing old region entries that you are not using. You can destroy or invalidate entries, either locally or across the distributed system. Within the <code>region-time-to-live</code> or <code>region-idle-time</code> element, this element specifies the expiration rules for the entire region.</p>
<p><strong>API:</strong> See APIs for <code>entry-time-to-live</code>, <code>entry-idle-time</code>, <code>region-time-to-live</code>, <code>region-idle-time</code></p>
<p><strong>&lt;expiration-attributes&gt; Attributes</strong></p>
<table>
<colgroup>
<col width="20%" />
<col width="60%" />
<col width="20%" />
</colgroup>
<thead>
<tr class="header">
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>timeout</td>
<td>Number of seconds before a region or an entry expires. If timeout is not specified, it defaults to zero (which means no expiration).</td>
<td>0</td>
</tr>
<tr class="even">
<td>action</td>
<td>Action that should take place when a region or an entry expires.
<div class="p">
Select one of the following expiration actions:
<table>
<tbody>
<tr class="odd">
<td><span class="keyword option">local-destroy</span></td>
<td>Removes the region or entry from the local cache, but does not distribute the removal operation to remote members. You cannot use this action on partitioned region entries.</td>
</tr>
<tr class="even">
<td><span class="keyword option">destroy</span></td>
<td>Removes the region or entry completely from the cache. Destroy actions are distributed according to the region&rsquo;s distribution settings. Use this option when the region or entry is no longer needed for any application in the distributed system.</td>
</tr>
<tr class="odd">
<td><span class="keyword option">invalidate</span></td>
<td>Default expiration action. Marks an entry or all entries in the region as invalid. Distributes the invalidation according to the region&rsquo;s scope. This is the proper choice when the region or the entry is no longer valid for any application in the distributed system.</td>
</tr>
<tr class="even">
<td><span class="keyword option">local-invalidate</span></td>
<td>Marks an entry or all entries in the region as invalid but does not distribute the operation. You cannot use this action on partitioned region entries. Local region invalidation is only supported for regions that are not configured as replicated regions.</td>
</tr>
</tbody>
</table>
<p></div></td>
<td>invalidate</td>
</tr>
</tbody>
</table></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;region-attributes
statistics-enabled="true"&gt;
&lt;entry-time-to-live&gt;
&lt;expiration-attributes
timeout="60"
action="local-destroy"/&gt;
&lt;/entry-time-to-live&gt;
&lt;/region-attributes&gt;
</code></pre>
<h2 id="&lt;custom-expiry&gt;"><a id="entry-time-to-live_custom_expiry" class="no-quick-link"></a>&lt;custom-expiry&gt;</h2>
<p>Specifies the custom class that implements <code>org.apache.geode.cache.CustomExpiry</code>. You define this class in order to override the region-wide settings for specific entries. See <a href="/docs/guide/15/developing/expiration/configuring_data_expiration.html">Configure Data Expiration</a> for an example.</p>
<p>Specify the Java class and its initialization parameters with the <code>&lt;class-name&gt;</code> and <code>&lt;parameter&gt;</code> sub-elements.</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.RegionFactory.setCustomEntryIdleTimeout</code>, <code>setCustomeEntryTimeToLive</code></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;region-attributes&gt;
&lt;expiration-attributes
timeout="60"
action="local-destroy"&gt;
&lt;custom-expiry&gt;
&lt;class-name&gt;
com.megaconglomerate.mypackage.MyClass
&lt;/class-name&gt;
&lt;/custom-expiry&gt;
&lt;/region-attributes&gt;
</code></pre>
<p>Specify the Java class and its initialization parameters with the <code>&lt;class-name&gt;</code> and <code>&lt;parameter&gt;</code> sub-elements.</p>
<h2 id="&lt;entry-idle-time&gt;"><a id="entry-idle-time" class="no-quick-link"></a>&lt;entry-idle-time&gt;</h2>
<p>Expiration setting that specifies how long the region’s entries can remain in the cache without anyone accessing them. See <a href="#expiration-attributes">&lt;expiration-attributes&gt;</a> for details.</p>
<p><strong>Note:</strong>
To ensure reliable read behavior across the partitioned region, use <code>entry-time-to-live</code> for entry expiration instead of this setting.</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.RegionFactory.setEntryIdleTimeout</code></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;region-attributes
statistics-enabled="true"&gt;
&lt;entry-idle-time&gt;
&lt;expiration-attributes
timeout="60"
action="local-invalidate"/&gt;
&lt;/expiration-attributes&gt;
&lt;/entry-idle-time&gt;
&lt;/region-attributes&gt;
</code></pre>
<h2 id="&lt;expiration-attributes&gt;"><a id="entry-idle-time_expiration-attributes" class="no-quick-link"></a>&lt;expiration-attributes&gt;</h2>
<p>Within the <code>entry-time-to-live</code> or <code>entry-idle-time</code> element, this element specifies the expiration rules for removing old region entries that you are not using. You can destroy or invalidate entries, either locally or across the distributed system. Within the <code>region-time-to-live</code> or <code>region-idle-time</code> element, this element specifies the expiration rules for the entire region.</p>
<p><strong>API:</strong> See APIs for <code>entry-time-to-live</code>, <code>entry-idle-time</code>, <code>region-time-to-live</code>, <code>region-idle-time</code></p>
<p><strong>&lt;expiration-attributes&gt; Attributes</strong></p>
<table>
<colgroup>
<col width="20%" />
<col width="60%" />
<col width="20%" />
</colgroup>
<thead>
<tr class="header">
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>timeout</td>
<td>Number of seconds before a region or an entry expires. If timeout is not specified, it defaults to zero (which means no expiration).</td>
<td>0</td>
</tr>
<tr class="even">
<td>action</td>
<td>Action that should take place when a region or an entry expires.
<div class="p">
Select one of the following expiration actions:
<table>
<tbody>
<tr class="odd">
<td><span class="keyword option">local-destroy</span></td>
<td>Removes the region or entry from the local cache, but does not distribute the removal operation to remote members. You cannot use this action on partitioned region entries.</td>
</tr>
<tr class="even">
<td><span class="keyword option">destroy</span></td>
<td>Removes the region or entry completely from the cache. Destroy actions are distributed according to the region&rsquo;s distribution settings. Use this option when the region or entry is no longer needed for any application in the distributed system.</td>
</tr>
<tr class="odd">
<td><span class="keyword option">invalidate</span></td>
<td>Default expiration action. Marks an entry or all entries in the region as invalid. Distributes the invalidation according to the region&rsquo;s scope. This is the proper choice when the region or the entry is no longer valid for any application in the distributed system.</td>
</tr>
<tr class="even">
<td><span class="keyword option">local-invalidate</span></td>
<td>Marks an entry or all entries in the region as invalid but does not distribute the operation. You cannot use this action on partitioned region entries. Local region invalidation is only supported for regions that are not configured as replicated regions.</td>
</tr>
</tbody>
</table>
<p></div></td>
<td>invalidate</td>
</tr>
</tbody>
</table></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;region-attributes
statistics-enabled="true"&gt;
&lt;entry-idle-time&gt;
&lt;expiration-attributes
timeout="60"
action="local-destroy"/&gt;
&lt;/entry-idle-time&gt;
&lt;/region-attributes&gt;
</code></pre>
<h2 id="&lt;custom-expiry&gt;"><a id="entry-idle-time_custom-expiry" class="no-quick-link"></a>&lt;custom-expiry&gt;</h2>
<p>Specifies the custom class that implements <code>org.apache.geode.cache.CustomExpiry</code>. You define this class in order to override the region-wide settings for specific entries. See <a href="/docs/guide/15/developing/expiration/configuring_data_expiration.html">Configure Data Expiration</a> for an example.</p>
<p>Specify the Java class and its initialization parameters with the <code>&lt;class-name&gt;</code> and <code>&lt;parameter&gt;</code> sub-elements.</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.RegionFactory.setCustomEntryIdleTimeout</code>, <code>setCustomeEntryTimeToLive</code></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;region-attributes&gt;
&lt;expiration-attributes
timeout="60"
action="local-destroy"&gt;
&lt;custom-expiry&gt;
&lt;class-name&gt;
com.megaconglomerate.mypackage.MyClass
&lt;/class-name&gt;
&lt;/custom-expiry&gt;
&lt;/region-attributes&gt;
</code></pre>
<p>Specify the Java class and its initialization parameters with the <code>&lt;class-name&gt;</code> and <code>&lt;parameter&gt;</code> sub-elements.</p>
<h2 id="&lt;partition-attributes&gt;"><a id="partition-attributes" class="no-quick-link"></a>&lt;partition-attributes&gt;</h2>
<p>Defines the region as partitioned and controls partitioning behavior. This is set during the region creation in the first data store for the partitioned region.</p>
<p><strong>Note:</strong>
With the exception of <code>local-max-memory</code>, all members defining a partitioned region must use the same partition attribute settings.</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.RegionFactory.setPartitionAttributes</code></p>
<p><strong>&lt;partition-attributes&gt; Attributes</strong></p>
<table><thead>
<tr>
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead><tbody>
<tr>
<td>colocated-with</td>
<td>The full name of a region to colocate with this region. The named region must exist before this region is created.</td>
<td>null</td>
</tr>
<tr>
<td>local-max-memory</td>
<td>Maximum megabytes of memory set aside for this region in the local member. This is all memory used for this partitioned region - for primary buckets and any redundant copies. This value must be smaller than the Java settings for the initial or maximum JVM heap. When the memory use goes above this value, Geode issues a warning, but operation continues. Besides setting the maximum memory to use for the member, this setting also tells Geode how to balance the load between members where the region is defined. For example, if one member sets this value to twice the value of another member’s setting, Geode works to keep the ratio between the first and the second at two-to-one, regardless of how little memory the region consumes. This is a local parameter that applies only to the local member. A value of 0 disables local data caching.</td>
<td>90% (of local heap)</td>
</tr>
<tr>
<td>recovery-delay</td>
<td>Applies when <code>redundant-copies</code> is greater than zero. The number of milliseconds to wait after a member crashes before reestablishing redundancy for the region. A setting of -1 disables automatic recovery of redundancy after member failure.</td>
<td>-1</td>
</tr>
<tr>
<td>redundant-copies</td>
<td>Number of extra copies that the partitioned region must maintain for each entry. Range: 0-3. If you specify 1, this partitioned region maintains the original and one backup, for a total of two copies. A value of 0 disables redundancy.</td>
<td>0</td>
</tr>
<tr>
<td>startup-recovery-delay</td>
<td>Applies when <code>redundant-copies</code> is greater than zero. The number of milliseconds a newly started member should wait before trying to satisfy redundancy of region data stored on other members. A setting of -1 disables automatic recovery of redundancy after new members join.</td>
<td>0</td>
</tr>
<tr>
<td>total-max-memory</td>
<td>Maximum combined megabytes of memory to be used by all processes hosting this region for all copies, primary and redundant.</td>
<td><code> Integer.MAX_VALUE</code></td>
</tr>
<tr>
<td>total-num-buckets</td>
<td>Total number of buckets or data storage areas allotted for the entire partitioned region in the distributed cache. As data moves from one member to another, the entries in a bucket move as one unit. This value should be a prime number at least four times the number of data stores. More buckets increases overhead, however, especially when redundant-copies = 2 or 3 .</td>
<td>113</td>
</tr>
</tbody></table>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;region-attributes&gt;
&lt;partition-attributes
redundant-copies="1"
total-num-buckets= "613"/&gt;
&lt;/region-attributes&gt;
</code></pre>
<h2 id="&lt;partition-resolver&gt;"><a id="partition-resolver" class="no-quick-link"></a>&lt;partition-resolver&gt;</h2>
<p>Describes a custom PartitionResolver for a region.</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.PartitionAttributesFactory.setPartitionResolver</code></p>
<p>Specify the Java class and its initialization parameters with the <code>&lt;class-name&gt;</code> and <code>&lt;parameter&gt;</code> sub-elements. See <a href="#class-name_parameter">&lt;class-name&gt; and &lt;parameter&gt;</a>.</p>
<p><strong>&lt;partition-resolver&gt; Attributes</strong></p>
<table><thead>
<tr>
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead><tbody>
<tr>
<td>name</td>
<td>The name of this custom PartitionResolver.</td>
<td> </td>
</tr>
</tbody></table>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;region name="trades"&gt;
&lt;region-attributes&gt;
&lt;partition-attributes&gt;
&lt;partition-resolver name="TradesPartitionResolver"&gt;
&lt;class-name&gt;myPackage.TradesPartitionResolver
&lt;/class-name&gt;
&lt;/partition-resolver&gt;
&lt;/partition-attributes&gt;
&lt;/region-attributes&gt;
&lt;/region&gt;
</code></pre>
<h2 id="&lt;partition-listener&gt;"><a id="partition-listener" class="no-quick-link"></a>&lt;partition-listener&gt;</h2>
<p>Defines a custom PartitionListener for a partitioned region.</p>
<p>Specify the Java class and its initialization parameters with the <code>&lt;class-name&gt;</code> and <code>&lt;parameter&gt;</code> sub-elements. See <a href="#class-name_parameter">&lt;class-name&gt; and &lt;parameter&gt;</a>.</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.PartitionAttributesFactory.PartitionListener</code></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;partition-attributes redundant-copies="1"&gt;
&lt;partition-listener&gt;
&lt;class-name&gt;com.myCompany.ColocatingPartitionListener&lt;/class-name.
&lt;parameter name="viewRegions"&gt;
&lt;string&gt;/customer/ViewA,/customer/ViewB&lt;/string&gt;
&lt;/parameter&gt;
&lt;/partition-listener&gt;
&lt;/partition-attributes&gt;
</code></pre>
<h2 id="&lt;fixed-partition-attributes&gt;"><a id="fixed-partition-attributes" class="no-quick-link"></a>&lt;fixed-partition-attributes&gt;</h2>
<p>Describes a partition in a Fixed Partitioned Region.</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.PartitionAttributesFactory.addFixedPartitionAttributes</code></p>
<p><strong>&lt;fixed-partition-attributes&gt; Attributes</strong></p>
<table><thead>
<tr>
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead><tbody>
<tr>
<td>partition-name</td>
<td>The name of this fixed partition.</td>
<td> </td>
</tr>
<tr>
<td>is-primary</td>
<td>Set to true if this partition is the primary partition.</td>
<td>false</td>
</tr>
<tr>
<td>num-buckets</td>
<td>The number of buckets assigned to this partition.</td>
<td> </td>
</tr>
</tbody></table>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;cache&gt;
&lt;region name="Trades"&gt;
&lt;region-attributes&gt;
&lt;partition-attributes
redundant-copies="1"&gt;
&lt;partition-resolver name="QuarterFixedPartitionResolver"&gt;
&lt;fixed-partition-attributes
partition-name="Q1"
is-primary="true"/&gt;
&lt;fixed-partition-attributes
partition-name="Q3"
is-primary="false"
num-buckets="6"/&gt;
&lt;/partition-attributes&gt;
&lt;/region-attributes&gt;
&lt;/region&gt;
&lt;/cache&gt;
</code></pre>
<h2 id="&lt;membership-attributes&gt;"><a id="membership-attributes" class="no-quick-link"></a>&lt;membership-attributes&gt;</h2>
<p>Establishes reliability requirements and behavior for a region. Use this to configure the region to require one or more membership roles to be running in the system for reliable access to the region. You can set up your own roles, such as producer or backup, specifying each role as a string. Membership attributes have no effect unless one or more required roles are specified.</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.RegionFactory.setMembershipAttributes</code></p>
<p><strong>&lt;membership-attributes&gt; Attributes</strong></p>
<table>
<colgroup>
<col width="20%" />
<col width="60%" />
<col width="20%" />
</colgroup>
<thead>
<tr class="header">
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>loss-action</td>
<td><p>Set one of the following values to specify how access to the region is affected when one or more required roles are lost.</p>
<div class="p">
<table>
<tbody>
<tr class="odd">
<td>full-access</td>
<td>Access to the region is unaffected when required roles are missing.</td>
</tr>
<tr class="even">
<td>limited-access</td>
<td>Only local access to the region is allowed when required roles are missing.</td>
</tr>
<tr class="odd">
<td>no-access</td>
<td>The region is unavailable when required roles are missing.</td>
</tr>
<tr class="even">
<td>reconnect</td>
<td>Loss of required roles causes the entire cache to be closed.</td>
</tr>
</tbody>
</table>
<p></div></td>
<td>no_access</td>
</tr>
<tr class="even">
<td>resumption-action</td>
<td><div class="p">
Specifies how the region is affected by resumption of reliability when one or more missing required roles return to the distributed membership. Set one of the following values:
<table>
<tbody>
<tr class="odd">
<td>none</td>
<td>No special action takes place when reliability resumes.</td>
</tr>
<tr class="even">
<td>reinitialize</td>
<td>Resumption of reliability causes the region to be cleared of all data and replicated regions will do a new getInitialImage operation to repopulate the region.</td>
</tr>
</tbody>
</table>
</div></td>
<td>reinitialize</td>
</tr>
</tbody>
</table></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;!-- If there is no "producer" member
running, do not allow access to the region --&gt;
&lt;region-attributes&gt;
&lt;membership-attributes
loss-action="no-access"
resumption-action="none"&gt;
&lt;required-role
name="producer"&gt;
&lt;/required-role&gt;
&lt;/membership-attributes&gt;
&lt;/region-attributes&gt;
</code></pre>
<h2 id="&lt;required-role&gt;"><a id="required-role" class="no-quick-link"></a>&lt;required-role&gt;</h2>
<p>Specifies a role that is required for reliable access to the region.</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.MembershipAttributes</code></p>
<p><strong>&lt;required-role&gt; Attributes</strong></p>
<table><thead>
<tr>
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead><tbody>
<tr>
<td>name</td>
<td>The name of the required role.</td>
<td> </td>
</tr>
</tbody></table>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;membership-attributes
loss-action="no-access"
resumption-action="none"&gt;
&lt;required-role name="producer"/&gt;
&lt;/membership-attributes&gt;
</code></pre>
<h2 id="&lt;subscription-attributes&gt;"><a id="subscription-attributes" class="no-quick-link"></a>&lt;subscription-attributes&gt;</h2>
<p>Specifies subscriber requirements and behavior for the region. There is one subscription attribute, <code>interest-policy</code>, that defines which distributed entry events are delivered to the local region.</p>
<p><strong>Note:</strong>
The interest policy determines which events are delivered, but the <code>data-policy</code> determines how the events are applied to the cache.</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.RegionFactory.setSubscriptionAttributes</code></p>
<p><strong>&lt;subscription-attributes&gt; Attributes</strong></p>
<table>
<colgroup>
<col width="20%" />
<col width="60%" />
<col width="20%" />
</colgroup>
<thead>
<tr class="header">
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>interest-policy</td>
<td>The two <code class="ph codeph">interest-policy</code> options are:
<div class="p">
<table>
<tbody>
<tr class="odd">
<td>cache-content</td>
<td>The default, registers interest in events only for entries that are already in the local region. For partitioned regions, the local member must hold the primary copy of the entry’s data.</td>
</tr>
<tr class="even">
<td>all</td>
<td>Registers interest in events for all entries that are anywhere in the distributed or partitioned region, regardless of whether they are already present in the local cache.</td>
</tr>
</tbody>
</table>
<p></div></td>
<td>cache-content</td>
</tr>
</tbody>
</table></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;region-attributes&gt;
&lt;subscription-attributes
interest-policy="all"/&gt;
&lt;/region-attributes&gt;
</code></pre>
<h2 id="&lt;cache-loader&gt;"><a id="topic_qsb_pnw_bm" class="no-quick-link"></a>&lt;cache-loader&gt;</h2>
<p>An event-handler plug-in that allows you to program for cache misses. At most, one cache loader can be defined in each member for the region. For distributed regions, a cache loader may be invoked remotely from other members that have the region defined. When an entry get results in a cache miss in a region with a cache loader defined, the loader’s <span class="keyword apiname">load</span> method is called. This method is usually programmed to retrieve data from an outside data source, but it can do anything required by your application.</p>
<p>For partitioned regions, if you want to have a cache loader, install an instance of the cache loader in every data store. Partitioned regions support partitioned loading, where each cache loader loads only the data entries in the local member. If data redundancy is configured, data is loaded only if the local member holds the primary copy.</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.RegionFactory.setCacheLoader</code></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;region-attributes&gt;
&lt;cache-loader&gt;
&lt;class-name&gt;quickstart.SimpleCacheLoader&lt;/class-name&gt;
&lt;/cache-loader&gt;
&lt;/region-attributes&gt;
</code></pre>
<h2 id="&lt;cache-writer&gt;"><a id="topic_h53_pnw_bm" class="no-quick-link"></a>&lt;cache-writer&gt;</h2>
<p>An event-handler plug-in that allows you to receive before-event notification for changes to the region and its entries. It also has the ability to abort events. At most, one cache writer can be defined in each member for the region. A cache writer may be invoked remotely from other members that have the region defined.</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.RegionFactory.setCacheWriter</code></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;region-attributes&gt;
&lt;cache-writer&gt;
&lt;class-name&gt;quickstart.SimpleCacheWriter&lt;/class-name&gt;
&lt;/cache-writer&gt;
&lt;/region-attributes&gt;
</code></pre>
<h2 id="&lt;cache-listener&gt;"><a id="cache-listener" class="no-quick-link"></a>&lt;cache-listener&gt;</h2>
<p>An event-handler plug-in that receives after-event notification of changes to the region and its entries. Any number of cache listeners can be defined for a region in any member. Geode offers several listener types with callbacks to handle data and process events. Depending on the <code>data-policy</code> and the <code>interest-policy</code> subscription attributes, a cache listener may receive only events that originate in the local cache, or it may receive those events along with events that originate remotely.</p>
<p>Specify the Java class for the cache listener and its initialization parameters with the <code>&lt;class-name&gt;</code> and <code>&lt;parameter&gt;</code> sub-elements. See <a href="#class-name_parameter">&lt;class-name&gt; and &lt;parameter&gt;</a>.</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.RegionFactory.addCacheListener</code></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;region-attributes&gt;
&lt;cache-listener&gt;
&lt;class-name&gt;
quickstart.SimpleCacheListener
&lt;/class-name&gt;
&lt;/cache-listener&gt;
&lt;/region-attributes&gt;
</code></pre>
<h2 id="&lt;compressor&gt;"><a id="topic_pcd_t25_44" class="no-quick-link"></a>&lt;compressor&gt;</h2>
<p>A compressor registers a custom class that extends <code>Compressor</code> to support compression on a region.</p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code> ...
&lt;compressor&gt;
&lt;class-name&gt;
&lt;parameter&gt;
&lt;string&gt;
&lt;declarable&gt;
&lt;/compressor&gt;
...
</code></pre>
<h2 id="&lt;eviction-attributes&gt;"><a id="eviction-attributes" class="no-quick-link"></a>&lt;eviction-attributes&gt;</h2>
<p>Specifies whether and how to control a region’s size. Size is controlled by removing least recently used (LRU) entries to make space for new ones. This may be done through destroy or overflow actions. You can configure your region for lru-heap-percentage with an eviction action of local-destroy using stored region attributes.</p>
<p><strong>Default:</strong> Uses the lru-entry-count algorithm.</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.RegionFactory.setEvictionAttributes</code></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;region-attributes&gt;
&lt;eviction-attributes&gt;
&lt;lru-entry-count
maximum="1000"
action="overflow-to-disk"/&gt;
&lt;/eviction-attributes&gt;
&lt;/region-attributes
</code></pre>
<h2 id="&lt;lru-entry-count&gt;"><a id="lru-entry-count" class="no-quick-link"></a>&lt;lru-entry-count&gt;</h2>
<p>Using the maximum attribute, specifies maximum region capacity based on entry count.</p>
<p><strong>&lt;lru-entry-count&gt; Attributes</strong></p>
<table>
<colgroup>
<col width="20%" />
<col width="60%" />
<col width="20%" />
</colgroup>
<thead>
<tr class="header">
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>action</td>
<td>Set one of the following eviction actions:
<div class="p">
<table>
<tbody>
<tr class="odd">
<td>local-destroy</td>
<td>Removes the entry from the local cache, but does not distribute the removal operation to remote
members. This action can be applied to an entry in a partitioned region, but is not recommended
if redundancy is enabled (redundant-copies > 0), as it introduces inconsistencies between the
redundant buckets. When applied to an entry in a replicated region, Geode silently changes
the region type to &ldquo;preloaded&rdquo; to accommodate the local modification.</td>
</tr>
<tr class="even">
<td>overflow-to-disk</td>
<td>The entry&rsquo;s value is overflowed to disk and set to null in memory. The
entry&rsquo;s key is retained in the cache.</td>
</tr>
</tbody>
</table>
<p></div></td>
<td>local-destroy</td>
</tr>
<tr class="even">
<td>maximum</td>
<td>The maximum number of entries allowed in a region.</td>
<td> </td>
</tr>
</tbody>
</table></p>
<h2 id="&lt;lru-heap-percentage&gt;"><a id="lru-heap-percentage" class="no-quick-link"></a>&lt;lru-heap-percentage&gt;</h2>
<p>Runs evictions when the Geode resource manager says to. The manager orders
evictions when the total cache size is over the heap or off-heap percentage limit specified in the resource manager
configuration. You can declare a Java class that implements the ObjectSizer interface to measure the
size of objects in the Region.</p>
<p>Specify the Java class and its initialization parameters with the <code>&lt;class-name&gt;</code> and <code>&lt;parameter&gt;</code> sub-elements. See <a href="#class-name_parameter">&lt;class-name&gt; and &lt;parameter&gt;</a>.</p>
<p><strong>&lt;lru-heap-percentage&gt; Attributes</strong></p>
<table>
<colgroup>
<col width="20%" />
<col width="60%" />
<col width="20%" />
</colgroup>
<thead>
<tr class="header">
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>action</td>
<td>Set one of the following eviction actions:
<div class="p">
<table>
<tbody>
<tr class="odd">
<td>local-destroy</td>
<td>Removes the entry from the local cache, but does not distribute the removal operation to remote
members. This action can be applied to an entry in a partitioned region, but is not recommended
if redundancy is enabled (redundant-copies > 0), as it introduces inconsistencies between the
redundant buckets. When applied to an entry in a replicated region, Geode silently changes
the region type to &ldquo;preloaded&rdquo; to accommodate the local modification.</td>
</tr>
<tr class="even">
<td>overflow-to-disk</td>
<td>The entry&rsquo;s value is overflowed to disk and set to null in memory. The
entry&rsquo;s key is retained in the cache.</td>
</tr>
</tbody>
</table>
<p></div></td>
<td>local-destroy</td>
</tr>
</tbody>
</table></p>
<h2 id="&lt;lru-memory-size&gt;"><a id="lru-memory-size" class="no-quick-link"></a>&lt;lru-memory-size&gt;</h2>
<p>Using the maximum attribute, specifies maximum region capacity based on the amount of memory used, in megabytes. You can declare a Java class that implements the ObjectSizer interface to measure the size of objects in the Region.</p>
<p>Specify the Java class and its initialization parameters with the <code>&lt;class-name&gt;</code> and <code>&lt;parameter&gt;</code> sub-elements. See <a href="#class-name_parameter">&lt;class-name&gt; and &lt;parameter&gt;</a>.</p>
<p><strong>&lt;lru-memory-size&gt; Attributes</strong></p>
<table>
<colgroup>
<col width="20%" />
<col width="60%" />
<col width="20%" />
</colgroup>
<thead>
<tr class="header">
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>action</td>
<td>Set one of the following eviction actions:
<div class="p">
<table>
<tbody>
<tr class="odd">
<td>local-destroy</td>
<td>Removes the entry from the local cache, but does not distribute the removal operation to remote
members. This action can be applied to an entry in a partitioned region, but is not recommended
if redundancy is enabled (redundant-copies > 0), as it introduces inconsistencies between the
redundant buckets. When applied to an entry in a replicated region, Geode silently changes
the region type to &ldquo;preloaded&rdquo; to accommodate the local modification.</td>
</tr>
<tr class="even">
<td>overflow-to-disk</td>
<td>The entry&rsquo;s value is overflowed to disk and set to null in memory. The
entry&rsquo;s key is retained in the cache.</td>
</tr>
</tbody>
</table>
<p></div></td>
<td>local-destroy</td>
</tr>
<tr class="even">
<td>maximum</td>
<td>The maximum amount of memory used in the region, in megabytes.</td>
<td> </td>
</tr>
</tbody>
</table></p>
<h2 id="&lt;jndi-bindings&gt;"><a id="jndi-bindings" class="no-quick-link"></a>&lt;jndi-bindings&gt;</h2>
<p>Specifies the binding for a data-source used in transaction management. See <a href="/docs/guide/15/developing/transactions/configuring_db_connections_using_JNDI.html#topic_A5E3A67C808D48C08E1F0DC167C5C494">Configuring Database Connections Using JNDI</a>.</p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;jndi-bindings&gt;
&lt;jndi-binding type="XAPooledDataSource"
jndi-name="newDB2trans"
init-pool-size="20"
max-pool-size="100"
idle-timeout-seconds="20"
blocking-timeout-seconds="5"
login-timeout-seconds="10"
xa-datasource-class="org.apache.derby.jdbc.EmbeddedXADataSource"
user-name="mitul"
password="encrypted(83f0069202c571faf1ae6c42b4ad46030e4e31c17409e19a)"&gt;
&lt;config-property&gt;
&lt;config-property-name&gt;Description&lt;/config-property-name&gt;
&lt;config-property-type&gt;java.lang.String&lt;/config-property-type&gt;
&lt;config-property-value&gt;pooled_transact&lt;/config-property-value&gt;
&lt;/config-property&gt;
&lt;config-property&gt;
&lt;config-property-name&gt;DatabaseName&lt;/config-property-name&gt;
&lt;config-property-type&gt;java.lang.String&lt;/config-property-type&gt;
&lt;config-property-value&gt;newDB&lt;/config-property-value&gt;
&lt;/config-property&gt;
&lt;config-property&gt;
&lt;config-property-name&gt;CreateDatabase&lt;/config-property-name&gt;
&lt;config-property-type&gt;java.lang.String&lt;/config-property-type&gt;
&lt;config-property-value&gt;create&lt;/config-property-value&gt;
&lt;/config-property&gt;
. . .
&lt;/jndi-binding&gt;
&lt;/jndi-bindings&gt;
</code></pre>
<h2 id="&lt;jndi-binding&gt;"><a id="jndi-binding" class="no-quick-link"></a>&lt;jndi-binding&gt;</h2>
<p>For every datasource that is bound to the JNDI tree, there should be one <code>&lt;jndi-binding&gt;</code> element. This element describes the property and the configuration of the datasource. Geode uses the attributes of the <code>&lt;jndi-binding&gt;</code> element for configuration. Use the <code>&lt;config-property&gt;</code> element to configure properties for the datasource.</p>
<p>We recommend that you set the username and password with the <code>user-name</code> and <code>password</code> jndi-binding attributes rather than using the <code>&lt;config-property&gt;</code> element.</p>
<p><strong>&lt;jndi-binding&gt; Attributes</strong></p>
<table>
<colgroup>
<col width="33%" />
<col width="33%" />
<col width="33%" />
</colgroup>
<thead>
<tr class="header">
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>blocking-timeout-seconds</td>
<td>The number of seconds that a connection remains associated with a transaction. If this value is exceeded, the connection is disassociated from the transaction.</td>
<td>120</td>
</tr>
<tr class="even">
<td>conn-pooled-datasource-class</td>
<td>Java class used for the <code class="ph codeph">PooledDataSource</code> type.</td>
<td> </td>
</tr>
<tr class="odd">
<td>connection-url</td>
<td>URL for connecting to the datasource.
<p>
<b>Note:</b>
<p>If you are connecting to a JCA data source driver that implements XA transactions (where the jndi-binding type is <strong>XAPooledDataSource</strong>), do not use this attribute. Instead, define configuration properties for your database. See <a href="#config-property">&lt;config-property&gt</a> for an example.</p></td>
<td> </td>
</tr>
<tr class="even">
<td>idle-timeout-seconds</td>
<td>The maximum number of seconds that a connection can remain idle in a pool. When this threshold is reached, the connection is removed.</td>
<td>600</td>
</tr>
<tr class="odd">
<td>init-pool-size</td>
<td>The initial pool size of a PooledConnection (an XAConnection or a non-XAConnection).</td>
<td>10</td>
</tr>
<tr class="even">
<td>jdbc-driver-class</td>
<td>Java class used for the <code class="ph codeph">SimpleDataSource</code> type.</td>
<td> </td>
</tr>
<tr class="odd">
<td>jndi-name</td>
<td>The <code class="ph codeph">jndi-name</code> attribute is the key binding parameter. If the value of jndi-name is a DataSource, it is bound as java:/myDatabase, where myDatabase is the name you assign to your data source. If the data source cannot be bound to JNDI at runtime, Geode logs a warning.</td>
<td> </td>
</tr>
<tr class="even">
<td>login-timeout-seconds</td>
<td><p>The maximum number of seconds for which a thread seeking a connection from a connection pool may be blocked. If the thread is unable to obtain connection in the stipulated time, a <span class="keyword apiname">PoolException</span> is thrown</p>
<p>If a connection is available the thread returns immediately.</p>
<p>If an existing connection is not available and the maximum number of connections in the pool has not been reached, a new connection is created and the thread returns immediately with the connection.</p>
<p>If a connection is not available, the thread blocks for the specified time while waiting for an available connection.</p></td>
<td>30</td>
</tr>
<tr class="odd">
<td>managed-conn-factory-class</td>
<td>If the Resource Adapter is of type <span class="keyword apiname">ManagedDataSource</span>, this class becomes the source of the <span class="keyword apiname">PooledConnection</span>. (This class interface complies with the J2CA Java 2 Connector Architecture.)</td>
<td> </td>
</tr>
<tr class="even">
<td>max-pool-size</td>
<td>The maximum size of the PooledConnection.</td>
<td>30</td>
</tr>
<tr class="odd">
<td>password</td>
<td>Password to access the datasource.</td>
<td> </td>
</tr>
<tr class="even">
<td>transaction-type</td>
<td>When the <code class="ph codeph">type</code> attribute is set to <code class="ph codeph">ManagedDataSource</code>, specifies the type of transaction. Set one of the following <code class="ph codeph">transaction-type</code>s:
<div class="p">
<table>
<tbody>
<tr class="odd">
<td>XATransaction</td>
<td>Select this option when you want to use a<span class="keyword apiname">ManagedConnection</span> interface with a Java Transaction Manager to define transaction boundries. This option allows a <span class="keyword apiname">ManagedDataSource</span> to participate in a transaction with a Geode cache.</td>
</tr>
<tr class="even">
<td>NoTransaction</td>
<td>No transactional behavior is used.</td>
</tr>
<tr class="odd">
<td>LocalTransaction</td>
<td>Select this option when using a <span class="keyword apiname">ManagedDataSource</span> that is not managed by the Java Transaction manager.</td>
</tr>
</tbody>
</table>
<p></div></td>
<td>none</td>
</tr>
<tr class="odd">
<td>type</td>
<td><div class="p">
Set one of the following types:
<table>
<tbody>
<tr class="odd">
<td>XAPooledDataSource</td>
<td>Pooled SQL connections. For this type, you must also set the <code class="ph codeph">xa-datasource-class</code> attribute.</td>
</tr>
<tr class="even">
<td>ManagedDataSource</td>
<td>JNDI binding type for the J2EE Connector Architecture (JCA). ManagedConnectionFactory. For information on the ManagedConnection interface, See the <a href="http://docs.oracle.com/javaee/6/api/javax/resource/spi/ManagedConnection.html">Oracle ManagedConnection docs</a>.</td>
</tr>
<tr class="odd">
<td>PooledDataSource</td>
<td>Pooled SQL connections. For this type, you must also set the <code class="ph codeph">conn-pooled-datasource-class</code> attribute.</td>
</tr>
<tr class="even">
<td>SimpleDataSource</td>
<td>Single SQL connection. No pooling of SQL connections is done. Connections are generated on the fly and cannot be reused. For this type, you must also set the <code class="ph codeph">jdbc-driver-class</code> attribute.</td>
</tr>
</tbody>
</table>
</div></td>
<td>none</td>
</tr>
<tr class="even">
<td>user-name</td>
<td>User name to access to the datasource.</td>
<td> </td>
</tr>
<tr class="odd">
<td>xa-datasource-class</td>
<td>Java class used for the <code class="ph codeph">XAPooledDataSource</code> type.</td>
<td> </td>
</tr>
</tbody>
</table></p>
<h2 id="&lt;config-property&gt;"><a id="config-property" class="no-quick-link"></a>&lt;config-property&gt;</h2>
<p>A configuration property of the datasource. Use the sub-elements to identify the name, datatype, and value of the property.</p>
<p><strong>Default:</strong></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;config-property&gt;
&lt;config-property-name&gt;DatabaseName&lt;/config-property-name&gt;
&lt;config-property-type&gt;java.lang.String&lt;/config-property-type&gt;
&lt;config-property-value&gt;newDB&lt;/config-property-value&gt;
&lt;/config-property&gt;
</code></pre>
<p>Configuration properties vary depending on the database vendor. See <a href="/docs/guide/15/developing/transactions/configuring_db_connections_using_JNDI.html#topic_A5E3A67C808D48C08E1F0DC167C5C494">Configuring Database Connections Using JNDI</a> for examples of different configuration property configurations.</p>
<h2 id="&lt;config-property-name&gt;"><a id="config-property-name" class="no-quick-link"></a>&lt;config-property-name&gt;</h2>
<p>The name of this datasource property.</p>
<h2 id="&lt;config-property-type&gt;"><a id="config-property-type" class="no-quick-link"></a>&lt;config-property-type&gt;</h2>
<p>The data type of this datasource property.</p>
<h2 id="&lt;config-property-value&gt;"><a id="config-property-value" class="no-quick-link"></a>&lt;config-property-value&gt;</h2>
<p>The value of this datasource property.</p>
<h2 id="&lt;region&gt;"><a id="region" class="no-quick-link"></a>&lt;region&gt;</h2>
<p>Defines a region in the cache. See <a href="#region-attributes">&lt;region-attributes&gt;</a> for more details on configuring regions. You can specify zero or more subregions within a region. See <a href="/docs/guide/15/basic_config/data_regions/managing_data_regions.html#data_regions__section_jn1_sry_5m">Create and Access Data Subregions</a> for restrictions on creating subregions. For example, you cannot create a partitioned subregion.</p>
<p><strong>Default:</strong></p>
<p><strong>API:</strong> <code>org.apache.geode.cache.RegionFactory</code> or <code>org.apache.geode.cache.ClientRegionFactory</code></p>
<p><strong>&lt;region&gt; Attributes</strong></p>
<table><thead>
<tr>
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead><tbody>
<tr>
<td>name</td>
<td>Specify the name for the region. See <a href="/docs/guide/15/basic_config/data_regions/managing_data_regions.html">Region Management</a> for details.</td>
<td> </td>
</tr>
<tr>
<td>refid</td>
<td>Used to apply predefined attributes to the region being defined. If the nested &ldquo;region-attributes&rdquo; element has its own &ldquo;refid&rdquo;, then it will cause the &ldquo;refid&rdquo; on the region to be ignored. The &ldquo;refid&rdquo; region attriibute can be set to the name of a RegionShortcut or a ClientRegionShortcut. For more information, see <a href="/docs/guide/15/basic_config/data_regions/region_shortcuts.html">Region Shortcuts and Custom Named Region Attributes</a> and <a href="/docs/guide/15/basic_config/data_regions/store_retrieve_region_shortcuts.html">Storing and Retrieving Region Shortcuts and Custom Named Region Attributes</a>.</td>
<td> </td>
</tr>
</tbody></table>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;!--Using region shortcut--&gt;
&lt;region
name="PartitionedRegion"
refid="PARTITIION_REDUNDANT"&gt;
...
&lt;/region&gt;
&lt;!-- Retrieving and storing attributes --&gt;
&lt;region-attributes
id="myPartition"
refid="PARTITION_REDUNDANT"&gt;
&lt;partition-attributes
local-max-memory="512"/&gt;
&lt;/region-attributes&gt;
&lt;!-- Attributes are retrieved and applied in the first region --&gt;
&lt;region name="PartitionedRegion1" refid="myPartition"/&gt;
</code></pre>
<p>See <a href="#region-attributes">&lt;region-attributes&gt;</a> for a complete listing of region attributes.</p>
<h2 id="&lt;index&gt;"><a id="index" class="no-quick-link"></a>&lt;index&gt;</h2>
<p>Describes an index to be created on a region. The index node, if any, should all come immediately after the &ldquo;region-attributes&rdquo; node. The &ldquo;name&rdquo; attribute is a required field which identifies the name of the index. See <a href="/docs/guide/15/developing/query_index/query_index.html">Working with Indexes</a> for more information on indexes.</p>
<p><strong>Default:</strong></p>
<p><strong>API:</strong> <code>org.apache.geode.cache.query.QueryService.createIndex, createKeyIndex, createHashIndex</code></p>
<p><strong>&lt;index&gt; Attributes</strong></p>
<table><thead>
<tr>
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead><tbody>
<tr>
<td>name</td>
<td>Required. Name of the index.</td>
<td> </td>
</tr>
<tr>
<td>from-clause</td>
<td>Specifies the collection(s) of objects that the index ranges over. The from-clause must only contain one and only one region path.</td>
<td> </td>
</tr>
<tr>
<td>expression</td>
<td>Specifies the lookup value of the index.</td>
<td> </td>
</tr>
<tr>
<td>imports</td>
<td>String containing the imports used to create the index. String should be specified in the query language syntax with each import statement separated by a semicolon. The imports statement provides packages and classes used in variable typing in the indexed and FROM expressions.</td>
<td> </td>
</tr>
<tr>
<td>key-index</td>
<td>True or false. Whether the index should be a key index. If true, the region key specified in the indexed expression is used to evaluate queries</td>
<td> </td>
</tr>
<tr>
<td>type</td>
<td>Possible values are &ldquo;hash&rdquo; or &ldquo;range&rdquo;.</td>
<td>range</td>
</tr>
</tbody></table>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;region name=exampleRegion&gt;
&lt;region-attributes . . . &gt;
&lt;/region-attributes&gt;
&lt;index
name="myIndex"
from-clause="/exampleRegion"
expression="status"/&gt;
&lt;index
name="myKeyIndex"
from-clause="/exampleRegion"
expression="id" key-index="true"/&gt;
&lt;index
name="myHashIndex"
from-clause="/exampleRegion p"
expression="p.mktValue" type="hash"/&gt;
...
&lt;/region&gt;
</code></pre>
<!-- start of Lucene index description -->
<h2 id="&lt;lucene:index&gt;"><a id="luceneindex" class="no-quick-link"></a>&lt;lucene:index&gt;</h2>
<p>Describes a Lucene index to be created on a region. The <code>lucene</code> namespace
and the scoping operator (<code>:</code>) must be specified, as the Geode <code>cache</code>
namespace also defines an <code>index</code> element (for OQL indexes).</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.lucene</code> package</p>
<p><strong>&lt;lucene:index&gt; Attributes</strong>
| Attribute | Description | Default |
|&mdash;&mdash;&mdash;&mdash;-|&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;&mdash;|&mdash;&mdash;&mdash;|
| name | Required. Name of the Lucene index. |   |</p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;cache
xmlns="http://geode.apache.org/schema/cache"
xmlns:lucene="http://geode.apache.org/schema/lucene"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://geode.apache.org/schema/cache
http://geode.apache.org/schema/cache/cache-1.0.xsd
http://geode.apache.org/schema/lucene
http://geode.apache.org/schema/lucene/lucene-1.0.xsd"
version="1.0"&gt;
&lt;region name="regionA" refid="PARTITION"&gt;
&lt;lucene:index name="myIndex"&gt;
&lt;lucene:field name="x" /&gt;
&lt;lucene:field name="y" /&gt;
&lt;/lucene:index&gt;
&lt;/region&gt;
&lt;/cache&gt;
</code></pre>
<!-- end of Lucene index description -->
<!-- start of Lucene field description -->
<h2 id="&lt;lucene:field&gt;"><a id="lucenefield" class="no-quick-link"></a>&lt;lucene:field&gt;</h2>
<p>Describes a field to be included in a Lucene index. Including the
<code>lucene</code> namespace and the scoping operator (<code>:</code>) clarifies,
but is not required.</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.lucene</code> package</p>
<p><strong>&lt;lucene:field&amp;gt Attributes</strong>
| Attribute | Description | Default |
|&mdash;&mdash;&mdash;&mdash;-|&mdash;&mdash;&mdash;&mdash;-|&mdash;&mdash;&mdash;|
| name | Required. A string that defines the name of the field. If a single field is defined by the value <code>&quot;__REGION_VALUE_FIELD&quot;</code>, then the entire value is used as a single field. |   |
| analyzer | A string that provides the path to the analyzer to use for this field. A value of <code>&quot;null&quot;</code> uses the default analyzer. | <code>&quot;null&quot;</code> |</p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;region name="dataregion" refid="PARTITION_REDUNDANT"&gt;
&lt;lucene:index name="full_value_index"&gt;
&lt;lucene:field name="__REGION_VALUE_FIELD"/&gt;
&lt;/lucene:index&gt;
&lt;/region&gt;
</code></pre>
<!-- end of Lucene field description -->
<h2 id="&lt;entry&gt;"><a id="entry" class="no-quick-link"></a>&lt;entry&gt;</h2>
<p>An &ldquo;entry&rdquo; element describes an entry to be added to a region. Note that if an entry with the given key already exists in the region, it will be replaced.</p>
<p><strong>Default:</strong></p>
<p><strong>API:</strong> <code>org.apache.geode.cache.Region.create</code>, <code>put</code>, <code>get</code>, <code>putAll</code>, <code>getAll</code></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;region ...&gt;
&lt;region-attributes ...&gt;
...
&lt;/region-attributes&gt;
&lt;entry&gt;
&lt;key&gt;&lt;string&gt;MyKey&lt;/string&gt;&lt;/key&gt;
&lt;value&gt;&lt;string&gt;MyValue&lt;/string&gt;&lt;/value&gt;
&lt;/entry&gt;
&lt;/region&gt;
</code></pre>
<h2 id="&lt;key&gt;"><a id="key" class="no-quick-link"></a>&lt;key&gt;</h2>
<p>Required. Describes the key in a region entry. A key can contain either a &lt;string&gt; or a &lt;declarable&gt; sub-element.</p>
<h2 id="&lt;string&gt;"><a id="topic_A078318F712F4247949DAE2287AB200A" class="no-quick-link"></a>&lt;string&gt;</h2>
<p>Specifies a String to be placed in a Region entry.</p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;region ...&gt;
&lt;region-attributes ...&gt;
...
&lt;/region-attributes&gt;
&lt;entry&gt;
&lt;key&gt;&lt;string&gt;MyKey&lt;/string&gt;&lt;/key&gt;
&lt;value&gt;&lt;string&gt;MyValue&lt;/string&gt;&lt;/value&gt;
&lt;/entry&gt;
&lt;/region&gt;
</code></pre>
<h2 id="&lt;declarable&gt;"><a id="topic_F13E9F4907E6424E8BB117CE45BD8D42" class="no-quick-link"></a>&lt;declarable&gt;</h2>
<p>Specifies a Declarable object to be placed in a Region entry.</p>
<p>Specify the Java class and its initialization parameters with the <code>&lt;class-name&gt;</code> and <code>&lt;parameter&gt;</code> sub-elements.</p>
<p><strong>API:</strong> <code>Declarable</code></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;parameter name="cacheserver"&gt;
&lt;declarable&gt;
&lt;class-name&gt;org.apache.geode.addon.cache.CacheServerInitializer&lt;/class-name&gt;
&lt;parameter name="system.property.prefix"&gt;
&lt;string&gt;cacheserver&lt;/string&gt;
&lt;/parameter&gt;
&lt;/declarable&gt;
&lt;/parameter&gt;
</code></pre>
<h2 id="&lt;value&gt;"><a id="value" class="no-quick-link"></a>&lt;value&gt;</h2>
<p>Required. Describes the value of a region entry. A <code>&lt;value&gt;</code> can contain either a <code>&lt;string&gt;</code> or a <code>&lt;declarable&gt;</code> sub-element.</p>
<h2 id="&lt;string&gt;"><a id="topic_356674E93DE14A93849E2142ED363079" class="no-quick-link"></a>&lt;string&gt;</h2>
<p>Specifies a String to be placed in a Region entry.</p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;region ...&gt;
&lt;region-attributes ...&gt;
...
&lt;/region-attributes&gt;
&lt;entry&gt;
&lt;key&gt;&lt;string&gt;MyKey&lt;/string&gt;&lt;/key&gt;
&lt;value&gt;&lt;string&gt;MyValue&lt;/string&gt;&lt;/value&gt;
&lt;/entry&gt;
&lt;/region&gt;
</code></pre>
<h2 id="&lt;declarable&gt;"><a id="topic_37650AC8AB054B6092458D8D0281D6C5" class="no-quick-link"></a>&lt;declarable&gt;</h2>
<p>Specifies a Declarable object to be placed in a Region entry.</p>
<p>Specify the Java class and its initialization parameters with the <code>&lt;class-name&gt;</code> and <code>&lt;parameter&gt;</code> sub-elements.</p>
<p><strong>API:</strong> <code>Declarable</code></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;parameter name="cacheserver"&gt;
&lt;declarable&gt;
&lt;class-name&gt;org.apache.geode.addon.cache.CacheServerInitializer&lt;/class-name&gt;
&lt;parameter name="system.property.prefix"&gt;
&lt;string&gt;cacheserver&lt;/string&gt;
&lt;/parameter&gt;
&lt;/declarable&gt;
&lt;/parameter&gt;
</code></pre>
<h2 id="&lt;region&gt;"><a id="region_region" class="no-quick-link"></a>&lt;region&gt;</h2>
<p>When nested within a <code>&lt;region&gt;</code> element, defines a subregion. See <a href="/docs/guide/15/basic_config/data_regions/managing_data_regions.html#data_regions__section_jn1_sry_5m">Create and Access Data Subregions</a> for restrictions on creating subregions. For example, you cannot create a partitioned subregion.</p>
<p>See <a href="/docs/guide/15/reference/topics/cache_xml.html#region">&lt;region&gt;</a></p>
<h2 id="&lt;function-service&gt;"><a id="function-service" class="no-quick-link"></a>&lt;function-service&gt;</h2>
<p>Configures the behavior of the function execution service.</p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;cache&gt;
...
&lt;/region&gt;
&lt;function-service&gt;
&lt;function&gt;
&lt;class-name&gt;com.myCompany.tradeService.cache.func.TradeCalc&lt;/class-name&gt;
&lt;/function&gt;
&lt;/function-service&gt;
</code></pre>
<h2 id="&lt;function&gt;"><a id="function" class="no-quick-link"></a>&lt;function&gt;</h2>
<p>Defines a function for registration in the function service</p>
<p>Specify the Java class for the function and its initialization parameters with the <code>&lt;class-name&gt;</code> and <code>&lt;parameter&gt;</code> sub-elements. See <a href="#class-name_parameter">&lt;class-name&gt; and &lt;parameter&gt;</a>.</p>
<p><strong>Default:</strong></p>
<p><strong>API:</strong> <code>org.apache.geode.cache.execute.FunctionService</code></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;function&gt;
&lt;class-name&gt;
com.myCompany.tradeService.cache.func.TradeCalc
&lt;/class-name&gt;
&lt;/function&gt;
</code></pre>
<h2 id="&lt;resource-manager&gt;"><a id="resource-manager" class="no-quick-link"></a>&lt;resource-manager&gt;</h2>
<p>A memory monitor that tracks cache size as a percentage of total heap or off-heap memory and controls size by restricting access to the cache and prompting eviction of old entries from the cache. For tenured heap, used in conjunction with settings for JVM memory and Java garbage collection. For off-heap memory, used with the off-heap memory manager.</p>
<p><strong>API:</strong> <code>org.apache.geode.cache.control.ResourceManager</code></p>
<p><strong>&lt;resource-manager&gt; Attributes</strong></p>
<table>
<colgroup>
<col width="20%" />
<col width="60%" />
<col width="20%" />
</colgroup>
<thead>
<tr class="header">
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>critical-heap-percentage</td>
<td>Percentage of heap at or above which the cache is considered in danger of becoming inoperable due to garbage collection pauses or out of memory exceptions.
<p>Only one change to this attribute or critical heap percentage will be allowed at any given time and its effect will be fully realized before the next change is allowed. This feature requires additional VM flags to perform properly. See <code class="ph codeph">setCriticalHeapPercentage()</code> for details.</p></td>
<td>0</td>
</tr>
<tr class="even">
<td>eviction-heap-percentage</td>
<td><p>Set the percentage of heap at or above which the eviction should begin on regions configured for HeapLRU eviction.</p>
<p>Changing this value may cause eviction to begin immediately.</p>
<ul>
<li>The default is 0, if no region is configured with heap eviction</li>
<li>If <code class="ph codeph">critical-heap-percentage</code> is set to a non-zero value, 5% less than that value.</li>
<li>80%, if <code class="ph codeph">critical-heap-percentage</code> is not configured.</li>
</ul>
</td>
<td>0</td>
</tr>
<tr class="odd">
<td>critical-off-heap-percentage</td>
<td>Percentage of off-heap memory at or above which the cache is considered in danger of becoming inoperable due to garbage collection pauses or out of memory exceptions.</td>
<td>0</td>
</tr>
<tr class="even">
<td>eviction-off-heap-percentage</td>
<td>Set the percentage of off-heap memory at or above which the eviction should begin on Regions configured for HeapLRU eviction.
<ul>
<li>The default is 0, if no region is configured with heap eviction</li>
<li>If <code class="ph codeph">critical-off-heap-percentage</code> is set to a non-zero value, 5% less than that value.</li>
<li>80%, if <code class="ph codeph">critical-off-heap-percentage</code> is not configured.</li>
</ul>
</td>
<td>0</td>
</tr>
</tbody>
</table>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;cache&gt;
...
&lt;resource-manager
critical-heap-percentage="99.9"
eviction-heap=-percentage="85"/&gt;
...
&lt;/cache&gt;
</code></pre>
<h2 id="&lt;serialization-registration&gt;"><a id="serialization-registration" class="no-quick-link"></a>&lt;serialization-registration&gt;</h2>
<p>Set of serializer or instantiator tags to register customer DataSerializer extensions or DataSerializable implementations respectively.</p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;serialization-registration&gt;
  &lt;instantiator id="30"&gt;    
&lt;class-name&gt;com.package.MyClass&lt;/class-name&gt;
  &lt;/instantiator&gt;
&lt;/serialization-registration&gt;
</code></pre>
<h2 id="&lt;serializer&gt;"><a id="serializer" class="no-quick-link"></a>&lt;serializer&gt;</h2>
<p>Allows you to configure the DataSerializer for this Geode member. It registers a custom class which extends DataSerializer to support custom serialization of non-modifiable object types inside Geode.</p>
<p>Specify the Java class for the <code>DataSerializer</code> and its initialization parameters with the <code>&lt;class-name&gt;</code> sub-element.</p>
<p><strong>API:</strong> You can also register a <code>DataSerializer</code> by using the <code>org.apache.geode.DataSerializer.register</code> API. Use the <code>org.apache.geode.Instantiator</code> API to register a <code>DataSerializable</code> implementation.</p>
<h2 id="&lt;instantiator&gt;"><a id="instantiator" class="no-quick-link"></a>&lt;instantiator&gt;</h2>
<p>An Instantiator registers a custom class which implements the <code>DataSerializable</code> interface to support custom object serialization inside Geode.</p>
<p>Specify the Java class and its initialization parameters with the <code>&lt;class-name&gt;</code> sub-element.</p>
<p><strong>API:</strong> <code>DataSerializable</code></p>
<p>You can also directly specify <code>&lt;instantiator&gt;</code> as a sub-element of <code>&lt;cache&gt;</code>. Use the <code>org.apache.geode.Instantiator</code> API to register a <code>DataSerializable</code> implementation as the serialization framework for the cache. The following table lists the attribute that can be specified for an <code>&lt;instantiator&gt;</code>.</p>
<p><strong>&lt;instantiator&gt; Attributes</strong></p>
<table><thead>
<tr>
<th>Attribute</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead><tbody>
<tr>
<td>id</td>
<td>Required. ID that the Instantiator should associate with the <code>DataSerializable</code> type.</td>
<td> </td>
</tr>
</tbody></table>
<h2 id="&lt;backup&gt;"><a id="backup" class="no-quick-link"></a>&lt;backup&gt;</h2>
<p>Defines additional files or directories that should be backed up when the system wide backup command is invoked. Disk stores with persistent data are automatically backed up and do not need to be listed with this element.</p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;backup&gt;./systemConfig/gf.jar&lt;/backup&gt;
&lt;backup&gt;/users/jpearson/gfSystemInfo/myCustomerConfig.doc&lt;/backup&gt;
</code></pre>
<h2 id="&lt;initializer&gt;"><a id="initializer" class="no-quick-link"></a>&lt;initializer&gt;</h2>
<p>Used to specify a callback class (and optionally its parameters) that will be run after the cache is initialized. This element can be specified for both server and client caches.</p>
<p>Specify the Java class and its initialization parameters with the <code>&lt;class-name&gt;</code> and <code>&lt;parameter&gt;</code> sub-elements. See <a href="#class-name_parameter">&lt;class-name&gt; and &lt;parameter&gt;</a>.</p>
<p><strong>Default:</strong></p>
<p><strong>API:</strong> <code>Declarable</code></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;initializer&gt;
&lt;class-name&gt;MyInitializer&lt;/class-name&gt;
&lt;parameter name="members"&gt;
&lt;string&gt;2&lt;/string&gt;
&lt;/parameter&gt;
&lt;/initializer&gt;
</code></pre>
<h2 id="&lt;declarable&gt;"><a id="topic_BDE840596CD24A7A8754A56E7D31FE3F" class="no-quick-link"></a>&lt;declarable&gt;</h2>
<p>Specifies a Declarable object to be placed in a Region entry.</p>
<p>Specify the Java class and its initialization parameters with the <code>&lt;class-name&gt;</code> and <code>&lt;parameter&gt;</code> sub-elements.</p>
<p><strong>API:</strong> <code>Declarable</code></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;parameter name="cacheserver"&gt;
&lt;declarable&gt;
&lt;class-name&gt;org.apache.geode.addon.cache.CacheServerInitializer&lt;/class-name&gt;
&lt;parameter name="system.property.prefix"&gt;
&lt;string&gt;cacheserver&lt;/string&gt;
&lt;/parameter&gt;
&lt;/declarable&gt;
&lt;/parameter&gt;
</code></pre>
<h2 id="&lt;class-name&gt;-and-&lt;parameter&gt;"><a id="class-name_parameter" class="no-quick-link"></a>&lt;class-name&gt; and &lt;parameter&gt;</h2>
<p>Specify the name of a Java class with the <code>&lt;class-name&gt;</code> sub-element.</p>
<p>Specify initialization parameters for the class using the <code>&lt;parameter&gt;</code> sub-element. Use the <code>name</code> attribute to specify the name of the parameter and specify its value in the content of the <a href="/docs/guide/15/reference/topics/cache_xml.html#string">&lt;string&gt;</a> sub-element or by specifying a Java class with the <a href="/docs/guide/15/reference/topics/cache_xml.html#declarable">&lt;declarable&gt;</a> sub-element.</p>
<p><strong>Example:</strong></p>
<p>The following transaction writer configuration example specifies a Java class named <code>com.company.data.MyTransactionWritet</code>. The class is initialized with a parameter named <code>URL</code> whose value is <code>jdbc:cloudscape:rmi:MyData</code>.</p>
<pre class="highlight plaintext"><code>&lt;transaction-writer&gt;
&lt;class-name&gt;com.company.data.MyTransactionWriter&lt;/class-name&gt;
&lt;parameter name="URL"&gt;
&lt;string&gt;jdbc:cloudscape:rmi:MyData&lt;/string&gt;
&lt;/parameter&gt;
&lt;/transaction-writer&gt;
</code></pre>
<h2 id="&lt;declarable&gt;"><a id="declarable" class="no-quick-link"></a>&lt;declarable&gt;</h2>
<p>Specifies a Declarable object to be placed in a Region entry.</p>
<p>Specify the Java class and its initialization parameters with the <code>&lt;class-name&gt;</code> and <code>&lt;parameter&gt;</code> sub-elements.</p>
<p><strong>API:</strong> <code>Declarable</code></p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;parameter name="cacheserver"&gt;
&lt;declarable&gt;
&lt;class-name&gt;org.apache.geode.addon.cache.CacheServerInitializer&lt;/class-name&gt;
&lt;parameter name="system.property.prefix"&gt;
&lt;string&gt;cacheserver&lt;/string&gt;
&lt;/parameter&gt;
&lt;/declarable&gt;
&lt;/parameter&gt;
</code></pre>
<h2 id="&lt;string&gt;"><a id="string" class="no-quick-link"></a>&lt;string&gt;</h2>
<p>Specifies a String to be placed in a Region entry.</p>
<p><strong>Example:</strong></p>
<pre class="highlight plaintext"><code>&lt;region ...&gt;
&lt;region-attributes ...&gt;
...
&lt;/region-attributes&gt;
&lt;entry&gt;
&lt;key&gt;&lt;string&gt;MyKey&lt;/string&gt;&lt;/key&gt;
&lt;value&gt;&lt;string&gt;MyValue&lt;/string&gt;&lt;/value&gt;
&lt;/entry&gt;
&lt;/region&gt;
</code></pre>
</main>
</div>
</div>
</div>
<div id="scrim"></div>
<div class="container">
<footer class="site-footer-links">
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<div class="copyright">
<a href='/'>Apache Geode Documentation</a>
&copy; 2018 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
</div>
<div class="support">
Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
</div>
</footer>
</div><!--end of container-->
</body>
</html>