Support
Downloads
Contact Us
Sign In
Pivotal GemFire®
v8.2
v9.10
v9.9
v9.8
v9.7
v9.6
v9.5
v9.4
v9.3
v9.2
v9.1
v9.0
All docs
Downloads
Support
Contact Us
Sign In
Doc Index
Pivotal GemFire®8.2 Documentation
Pivotal GemFire 8.2 Release Notes
What's New in Pivotal GemFire 8.2
Installing Pivotal GemFire 8.2
Upgrading to Pivotal GemFire 8.2
GemFire 8.2 Resolved Issues
Supported Configurations and System Requirements
Pivotal GemFire Supported Configurations
Host Machine Requirements
Dependencies on Linux RPM Packages
Running Pivotal GemFire in Pure Java Mode
Pivotal GemFire Tools Supported Configurations
Pivotal GemFire Pulse System Requirements
VSD System Requirements
Pivotal GemFire Modules Supported Configurations
Pivotal GemFire User's Guide
Getting Started with Pivotal GemFire
Pivotal GemFire in 15 Minutes or Less
About Pivotal GemFire
Main Features of Pivotal GemFire
Installing Pivotal GemFire
OSX: Install Pivotal GemFire from a Homebrew Package
RHEL: Install Pivotal GemFire from RPM
Ubuntu: Install Pivotal GemFire from a Debian Package
Windows/Unix/Linux: Install Pivotal GemFire from a ZIP or tar.gz File
Obtaining Pivotal GemFire from a Maven Repository
Obtaining Modified Open Source Code Libraries
CLASSPATH Settings for GemFire Processes
How to Uninstall GemFire
Upgrading Pivotal GemFire
Before You Upgrade
RHEL: Upgrade Pivotal GemFire from RPM
OSX: Upgrade Pivotal GemFire from a Homebrew Package
Windows/Unix/Linux: Upgrade Pivotal GemFire from a ZIP or tar.gz File
Performing a Rolling Upgrade
Rolling Upgrade Procedure
Pivotal GemFire Version Compatibility Rules
Checking Member Versions in a Mixed Cluster
Setting Up the Product Examples
Pivotal GemFire Tutorial
Tutorial Introduction
Pivotal GemFire Features Demonstrated in the Tutorial
Sample Social Networking Application
Running the Tutorial
Exploring Other Features with the Tutorial
Hello World Example
Introduction to the Hello World Example
Walkthrough of the Example Files
gemfire.properties
xml/HelloWorld.xml (cache.xml)
HelloWorldProducer.java and helloworld/HelloWorldConsumer.java
helloworld/SimpleCacheListener.java
QuickStart Examples
Setting Up Your Environment for Running the Examples
Replicated Caching Example
Server Managed Caching Example
Partitioned Data Caching Example
Fixed Partitioning
Reliable Event Notification Examples
Interest Registration Example
Continuous Querying Example
Durable Event Messaging Example
Persisting Data to Disk Example
Overflowing Data to Disk Example
Cache Expiration Example
Cache Eviction Example
Querying Example (OQL)
Transactions Example
Delta Propagation Example
Function Execution Example
JSON Example
Secure Client Example
Multiple Secure Client Example
Distributed Locking Example
Management and Monitoring Example
System Alerts JMX Example
Benchmark Examples
Peer-to-Peer Benchmark Example
Client Server Benchmark Example
Benchmark Parameters
Product Examples Troubleshooting Checklist
Configuring and Running a Cluster
Overview of the Cluster Configuration Service
Tutorial: Creating and Using a Cluster Configuration
Deploying Application JARs to Pivotal GemFire Members
Using Member Groups
Exporting and Importing Cluster Configurations
Cluster Configuration Files and Troubleshooting
Loading Existing Configuration Files into Cluster Configuration
Starting Up and Shutting Down Your System
Introduction to Startup and Shutdown
Starting Up Your System
Shutting Down the System
Running GemFire Locator Processes
Running GemFire Server Processes
Managing System Output Files
Deploying Configuration Files without the Cluster Configuration Service
Main Steps to Deploying Configuration Files
Default File Specifications and Search Locations
Changing the File Specifications
Deploying Configuration Files in JAR Files
Firewall Considerations
Firewalls and Connections
Firewalls and Ports
Firewalls and Ports in Multi-Site (WAN) Configurations
Basic Configuration and Programming
Distributed System and Cache Configuration
Distributed System Members
Options for Configuring the Distributed System
Options for Configuring the Cache and Data Regions
Local and Remote Membership and Caching
Cache Management
Introduction to Cache Management
Managing a Peer or Server Cache
Managing a Client Cache
Managing a Cache in a Secure System
Managing RegionServices for Multiple Secure Users
Launching an Application after Initializing the Cache
Data Regions
Data Region Management
Creating a Region with gfsh
Creating a Region Through the cache.xml File
Creating a Region Through the API
Region Naming
Region Shortcuts and Custom Named Region Attributes
Storing and Retrieving Region Shortcuts and Custom Named Region Attributes
Managing Region Attributes
Creating Custom Attributes for Regions and Entries
Building a New Region with Existing Content
Data Entries
Managing Data Entries
Requirements for Using Custom Classes in Data Caching
Topologies and Communication
Topology and Communication General Concepts
Topology Types
Planning Topology and Communication
How Member Discovery Works
How Communication Works
Using Bind Addresses
Choosing Between IPv4 and IPv6
Peer-to-Peer Configuration
Configuring Peer-to-Peer Discovery
Configuring Peer Communication
Organizing Peers into Logical Member Groups
Client/Server Configuration
Standard Client/Server Deployment
How Server Discovery Works
How Client/Server Connections Work
Configuring a Client/Server System
Organizing Servers Into Logical Member Groups
Client/Server Example Configurations
Fine-Tuning Your Client/Server Configuration
Multi-site (WAN) Configuration
How Multi-site (WAN) Systems Work
Overview of Multi-site Caching
Consistency for WAN Updates
Discovery for Multi-Site Systems
Gateway Senders
Gateway Receivers
Multi-site (WAN) Topologies
Configuring a Multi-site (WAN) System
Filtering Events for Multi-Site (WAN) Distribution
Resolving Conflicting Events
Managing Pivotal GemFire
Pivotal GemFire Management and Monitoring
Management and Monitoring Features
Overview of GemFire Management and Monitoring Tools
Architecture and Components
JMX Manager Operations
Starting a JMX Manager
Configuring a JMX Manager
Stopping a JMX Manager
Federated MBean Architecture
List of GemFire JMX MBeans
JMX Manager MBeans
Managed Node MBeans
Managed Node Gateway MBeans
Browsing GemFire MBeans through JConsole
GemFire JMX MBean Notifications
Notification Federation
List of GemFire JMX MBean Notifications
MemberMXBean Notifications
MemberMXBean Gateway Notifications
CacheServerMXBean Notifications
DistributedSystemMXBean Notifications
Configuring RMI Registry Ports and RMI Connectors
Executing gfsh Commands through the Management API
Management and Monitoring Programming Examples
Heap Use and Management
How the Resource Manager Works
Control Heap Use with the Resource Manager
Resource Manager Example Configurations
Disk Storage
How Disk Stores Work
Disk Store File Names and Extensions
Disk Store Operation Logs
Configuring Disk Stores
Designing and Configuring Disk Stores
Disk Store Configuration Parameters
Modifying the Default Disk Store
Configuring Disk Stores on Gateway Senders
Optimizing a System with Disk Stores
Starting and Shutting Down a System with Disk Stores
How Startup and Shutdown Work with Disk Stores
Starting a System with Disk Stores
Shutting Down a System with Disk Stores
Disk Store Management
Disk Store Management Commands and Operations
Validating a Disk Store
Running Compaction on Disk Store Log Files
Synchronizing Your Offline Disk Store with Your Cache
Configuring Disk Free Space Monitoring
Handling Missing Disk Stores
Managing How Data is Written to Disk
Creating Backups for System Recovery and Operational Management
Cache and Region Snapshots
Usage and Performance Notes
Exporting Cache and Region Snapshots
Importing Cache and Region Snapshots
Filtering Entries During Import or Export
Reading Snapshots Programmatically
Region Compression
Guidelines on Using Compression
How to Enable Compression in a Region
Working with Compressors
Comparing Performance of Compressed and Non-Compressed Regions
Network Partitioning
How Network Partitioning Management Works
Failure Detection and Membership Views
Membership Coordinators, Lead Members and Member Weighting
Network Partitioning Scenarios
Configure Pivotal GemFire to Handle Network Partitioning
Preventing Network Partitions
Security
Pivotal GemFire Security Features
Security Information Specific to Pivotal GemFire
External Interfaces, Ports, and Services
Resources That Must Be Protected
Log File Locations
User Accounts Created at Installation
Obtaining and Installing Security Updates
Security Implementation Overview
Where to Place Security Settings
Authentication
How Authentication Works
Implementing Authentication
Setting Up JMX Authentication for GemFire Management and Monitoring
Encrypting Passwords for Use in cache.xml
Encrypt Credentials with Diffie-Hellman
Authentication Examples
Authorization
How Authorization Works
Implementing Authorized Access Control for the Cache
Performance and Programming Considerations
Authorization Example
SSL
How SSL Works
Configuring SSL
SSL Sample Implementation
Multi-Site (WAN) Deployment Security
Performance Tuning and Configuration
Improving GemFire Performance on vSphere
Operating System Guidelines
NUMA, CPU, and BIOS Settings
Physical and Virtual NIC Settings
VMware vSphere vMotion and DRS Cluster Usage
Placement and Organization of Virtual Machines
Virtual Machine Memory Reservation
vSphere High Availability and Pivotal GemFire
Storage Guidelines
Additional Resources
Performance Controls
Data Serialization
Setting Cache Timeouts
Controlling Socket Use
Management of Slow Receivers
Increasing the Ratio of Cache Hits
System Member Performance
Distributed System Member Properties
JVM Memory Settings and System Performance
Garbage Collection and System Performance
Connection Thread Settings and Performance
Slow Receivers with TCP/IP
Preventing Slow Receivers
Managing Slow Receivers
Slow distributed-ack Messages
Socket Communication
Setting Socket Buffer Sizes
Ephemeral TCP Port Limits
Making Sure You Have Enough Sockets
TCP/IP KeepAlive Configuration
TCP/IP Peer-to-Peer Handshake Timeouts
Configuring Sockets in Multi-Site (WAN) Deployments
UDP Communication
Multicast Communication
Provisioning Bandwidth for Multicast
Testing Multicast Speed Limits
Configuring Multicast Speed Limits
Run-time Considerations for Multicast
Troubleshooting the Multicast Tuning Process
Maintaining Cache Consistency
Logging
How GemFire Logging Works
Understanding Log Messages and Their Categories
Naming, Searching, and Creating Log Files
Set Up Logging
Advanced Users: Configuring Log4j 2 for GemFire
Log Collection Utility
Statistics
How Statistics Work
Transient Region and Entry Statistics
Application-Defined and Custom Statistics
Configuring and Using Statistics
Viewing Archived Statistics
Troubleshooting and System Recovery
Producing Artifacts for Troubleshooting
Diagnosing System Problems
System Failure and Recovery
Handling Forced Cache Disconnection Using Autoreconnect
Recovering from Application and Cache Server Crashes
Recovering from Crashes with a Peer-to-Peer Configuration
Recovering from Crashes with a Client/Server Configuration
Recovering from Machine Crashes
Recovering from ConfictingPersistentDataExceptions
Preventing and Recovering from Disk Full Errors
Understanding and Recovering from Network Outages
Developing with Pivotal GemFire
Region Data Storage and Distribution
Storage and Distribution Options
Region Types
Region Data Stores and Data Accessors
Creating Regions Dynamically
Partitioned Regions
Understanding Partitioning
Configuring Partitioned Regions
Configuring the Number of Buckets for a Partitioned Region
Custom-Partitioning and Colocating Data
Understanding Custom Partitioning and Data Colocation
Custom-Partition Your Region Data
Colocate Data from Different Partitioned Regions
Configuring High Availability for Partitioned Regions
Understanding High Availability for Partitioned Regions
Configure High Availability for a Partitioned Region
Set the Number of Redundant Copies
Configure Redundancy Zones for Members
Set Enforce Unique Host
Configure Member Crash Redundancy Recovery for a Partitioned Region
Configure Member Join Redundancy Recovery for a Partitioned Region
Configuring Single-Hop Client Access to Server-Partitioned Regions
Understanding Client Single-Hop Access to Server-Partitioned Regions
Configure Client Single-Hop Access to Server-Partitioned Regions
Rebalancing Partitioned Region Data
Checking Redundancy in Partitioned Regions
Moving Partitioned Region Data to Another Member
Distributed and Replicated Regions
How Distribution Works
Options for Region Distribution
How Replication and Preloading Work
Configure Distributed, Replicated, and Preloaded Regions
Locking in Global Regions
Consistency for Region Updates
Consistency Checking by Region Type
Configuring Consistency Checking
Overhead for Consistency Checks
How Consistency Checking Works for Replicated Regions
How Destroy and Clear Operations Are Resolved
Transactions with Consistent Regions
How Consistency Is Achieved in WAN Deployments
General Region Data Management
Persistence and Overflow
How Persistence and Overflow Work
Configure Region Persistence and Overflow
Overflow Configuration Examples
Eviction
How Eviction Works
Configure Data Eviction
Expiration
How Expiration Works
Configure Data Expiration
Keeping the Cache in Sync with Outside Data Sources
Overview of Outside Data Sources
How Data Loaders Work
Implement a Data Loader
Data Serialization
Overview of Data Serialization
GemFire PDX Serialization
GemFire PDX Serialization Features
High Level Steps for Using PDX Serialization
Using Automatic Reflection-Based PDX Serialization
Customizing Serialization with Class Pattern Strings
Extending the ReflectionBasedAutoSerializer
Serializing Your Domain Object with a PdxSerializer
Implementing PdxSerializable in Your Domain Object
Programming Your Application to Use PdxInstances
Adding JSON Documents to the GemFire Cache
Using PdxInstanceFactory to Create PdxInstances
Persisting PDX Metadata to Disk
Using PDX Objects as Region Entry Keys
GemFire Data Serialization (DataSerializable and DataSerializer)
Standard Java Serialization
Events and Event Handling
How Events Work
Peer-to-Peer Event Distribution
Client-to-Server Event Distribution
Multi-Site (WAN) Event Distribution
List of Event Handlers and Events
Implementing GemFire Event Handlers
Implementing Cache Event Handlers
Implementing an AsyncEventListener for Write-Behind Cache Event Handling
How to Safely Modify the Cache from an Event Handler Callback
Cache Event Handler Examples
Configuring Peer-to-Peer Event Messaging
Configuring Client/Server Event Messaging
Configuring Highly Available Servers
Highly Available Client/Server Event Messaging
Implementing Durable Client/Server Messaging
Durable Client/Server Event Messaging
Tuning Client/Server Event Messaging
Conflate the Server Subscription Queue
Limit the Server's Subscription Queue Memory Use
Tune the Client's Subscription Message Tracking Timeout
Configuring Multi-Site (WAN) Event Queues
Persisting an Event Queue
Configuring Dispatcher Threads and Order Policy for Event Distribution
Conflating Events in a Queue
Delta Propagation
How Delta Propagation Works
When to Avoid Delta Propagation
Delta Propagation Properties
Implementing Delta Propagation
Errors In Delta Propagation
Delta Propagation Example
Querying
GemFire Querying FAQ and Examples
Basic Querying
Advantages of OQL
Writing and Executing a Query in GemFire
Building a Query String
IMPORT Statement
FROM Clause
WHERE Clause
SELECT Statement
Query Language Features
Supported Character Sets
Supported Keywords
Case Sensitivity
Comments in Query Strings
Query Language Grammar
Operators
Reserved Words
Supported Literals
Query Language Restrictions and Unsupported Features
Advanced Querying
Performance Considerations
Monitoring Low Memory When Querying
Timeouts for Long-Running Queries
Using Query Bind Parameters
Working with Indexes
Tips and Guidelines on Using Indexes
Creating, Listing and Removing Indexes
Creating Key Indexes
Creating Hash Indexes
Creating Indexes on Map Fields ("Map Indexes")
Creating Multiple Indexes at Once
Maintaining Indexes (Synchronously or Asynchronously) and Index Storage
Using Query Index Hints
Using Indexes on Single Region Queries
Using Indexes with Equi-Join Queries
Using Indexes with Overflow Regions
Using Indexes on Equi-Join Queries using Multiple Regions
Index Samples
Querying Partitioned Regions
Using ORDER BY on Partitioned Regions
Querying a Partitioned Region on a Single Node
Optimizing Queries on Data Partitioned by a Key or Field Value
Performing an Equi-Join Query on Partitioned Regions
Query Debugging
Continuous Querying
How Continuous Querying Works
Implementing Continuous Querying
Managing Continuous Querying
Transactions
About Transactions
Types of Transactions
GemFire Cache Transactions
Cache Transaction Performance
Data Location for Cache Transactions
How to Run a GemFire Cache Transaction
How to Run a GemFire Cache Transaction that Coordinates with an External Database
Working with GemFire Cache Transactions
Setting Global Copy on Read
Making a Safe Change Within a Transaction Using CopyHelper.copy
Transactions and Functions
Using Queries and Indexes with Transactions
Collections and Region.Entry Instances in Transactions
Using Eviction and Expiration Operations
Transactions and Consistent Regions
Suspending and Resuming Transactions
Using Cache Writer and Cache Listener Plug-Ins
Configuring Transaction Plug-In Event Handlers
How Transaction Events Are Managed
How GemFire Cache Transactions Work
Transaction View
Committing Transactions
Transactions by Region Type
Transactions and Partitioned Regions
Transactions and Replicated Regions
Transactions and Persistent Regions
Client Transactions
How GemFire Runs Client Transactions
Client Cache Access During a Transaction
Client Transactions and Client Application Plug-Ins
Client Transaction Failures
Comparing Transactional and Non-Transactional Operations
Transactional Operations
Non-Transactional Operations
Entry Operations
Region Operations
Cache Operations
No-Ops
GemFire Cache Transaction Semantics
JTA Global Transactions with GemFire
Coordinating with External JTA Transactions Managers
How to Run a JTA Transaction Coordinated by an External Transaction Manager
Using GemFire as the "Last Resource" in a Container-Managed JTA Transaction
How to Run JTA Transactions with GemFire as a "Last Resource"
Using GemFire as the JTA Transaction Manager
How to Run a JTA Global Transaction Using GemFire as the JTA Transaction Manager
Configuring Database Connections Using JNDI
Example DataSource Configurations in cache.xml
Behavior of GemFire Cache Writers and Loaders Under JTA
Turning Off JTA Transactions
Monitoring and Troubleshooting Transactions
Transaction Coding Examples
Basic Transaction Example
Basic Suspend and Resume Transaction Example
Transaction Run in Multiple Regions Example
Transaction Using a Function Example
GemFire JTA Transaction Example
JCA Resource Adapter Example
Function Execution
Use Cases for Function Execution
How Function Execution Works
Executing a Function in Pivotal GemFire
Developing REST Applications for Pivotal GemFire
GemFire REST API Overview
Prerequisites and Limitations for Writing REST Applications
Setup and Configuration
Using the Swagger UI to Browse REST APIs
Developing REST Applications
Working with Regions
Working with Queries
Working with Functions
Sample REST Applications
Troubleshooting and FAQ
Key Types and JSON Support
Pivotal GemFire REST API Reference
Region Endpoints
GET /gemfire-api/v1
GET /gemfire-api/v1/{region}
GET /gemfire-api/v1/{region}/keys
GET /gemfire-api/v1/{region}/{key}
GET /gemfire-api/v1/{region}/{key1},{key2},...,{keyN}
HEAD /gemfire-api/v1/{region}
POST /gemfire-api/v1/{region}?key=<key>
PUT /gemfire-api/v1/{region}/{key}
PUT /gemfire-api/v1/{region}/{key1},{key2},...{keyN}
PUT /gemfire-api/v1/{region}/{key}?op=REPLACE
PUT /gemfire-api/v1/{region}/{key}?op=CAS
DELETE /gemfire-api/v1/{region}
DELETE /gemfire-api/v1/{region}/{key}
DELETE /gemfire-api/v1/{region}/{key1},{key2},...{keyN}
Query Endpoints
GET /gemfire-api/v1/queries
POST /gemfire-api/v1/queries?id=<queryId>&q=<OQL-statement>
POST /gemfire-api/v1/queries/{queryId}
PUT /gemfire-api/v1/queries/{queryId}
DELETE /gemfire-api/v1/queries/{queryId}
GET /gemfire-api/v1/queries/adhoc?q=<OQL-statement>
Function Endpoints
GET /gemfire-api/v1/functions
POST /gemfire-api/v1/functions/{functionId}
Administrative Endpoints
[HEAD | GET] /gemfire-api/v1/ping
GET /gemfire-api/v1/servers
Tools and Modules
DiskConverterPre65to65
Running DiskConverterPre65to65
Gemcached
How Gemcached Works
Deploying and Configuring a Gemcached Server
Advantages of Gemcached over Memcached
gfsh (GemFire SHell)
What You Can Do with gfsh
Starting gfsh
Configuring the gfsh Environment
Useful gfsh Shell Variables
Basic Shell Features and Command-Line Usage
Tutorial: Performing Common Tasks with gfsh
Quick Reference of gfsh Commands by Functional Area
Basic GemFire gfsh Commands
Configuration Commands
Data Commands
Deployment Commands
Disk Store Commands
Durable CQ and Client Commands
Function Execution Commands
Gateway (WAN) Commands
GemFire Monitoring Commands
Index Commands
JMX Connection Commands
Locator Commands
PDX Commands
Region Commands
Server Commands
gfsh Command Help
alter
alter disk-store
alter region
alter runtime
backup disk-store
change loglevel
clear defined indexes
close
close durable-client
close durable-cq
compact
compact disk-store
compact offline-disk-store
configure
connect
create
create async-event-queue
create defined indexes
create disk-store
create gateway-receiver
create gateway-sender
create index
create region
debug
define index
deploy
describe
describe client
describe config
describe connection
describe disk-store
describe member
describe offline-disk-store
describe region
destroy
destroy disk-store
destroy function
destroy index
destroy region
disconnect
echo
encrypt password
execute function
exit
export
export cluster-configuration
export config
export data
export logs
export offline-disk-store
export stack-traces
gc
get
help
hint
history
import
import data
import cluster-configuration
list
list async-event-queues
list clients
list deployed
list disk-stores
list durable-cqs
list functions
list gateways
list indexes
list members
list regions
load-balance gateway-sender
locate entry
netstat
pause gateway-sender
pdx rename
put
query
rebalance
remove
resume gateway-sender
revoke missing-disk-store
run
set variable
sh
show
show dead-locks
show log
show metrics
show missing-disk-stores
show subscription-queue-size
shutdown
sleep
start
start gateway-receiver
start gateway-sender
start jconsole
start jvisualvm
start locator
start pulse
start server
status
status cluster-config-service
status gateway-receiver
status gateway-sender
status locator
status server
stop
stop gateway-receiver
stop gateway-sender
stop locator
stop server
undeploy
upgrade offline-disk-store
validate offline-disk-store
version
Creating and Running gfsh Command Scripts
Running gfsh Commands on the OS Command Line
Mapping of cache.xml Elements to gfsh Configuration Commands.
Hibernate Cache Module
Why Use GemFire with Hibernate?
How GemFire Works with Hibernate
Installing the Hibernate Cache Module
Setting Up the GemFire Hibernate Cache Module
Advanced Configuration (Hibernate Cache Module)
Changing Pivotal GemFire Default Configuration (Hibernate Cache Module)
Using Hibernate Cache Module with HTTP Session Management Module
HTTP Session Management Modules
HTTP Session Management Quick Start
Advantages of Using GemFire for Session Management
Common Topologies for HTTP Session Management
General Information on HTTP Session Management
Session State Log Files
HTTP Session Management Module for Pivotal tc Server
Installing the HTTP Module for tc Server
Setting Up the HTTP Module for tc Server
Changing the Default GemFire Configuration in the tc Server Module
Interactive Configuration Reference for the tc Server Module
HTTP Session Management Module for Tomcat
Installing the HTTP Module for Tomcat
Setting Up the HTTP Module for Tomcat
Changing the Default GemFire Configuration in the Tomcat Module
Common GemFire Configuration Changes in Tomcat
HTTP Session Management Module for AppServers
Installing the HTTP Module for AppServers
Setting Up the HTTP Module for AppServers
Changing the Default GemFire Configuration in the AppServers Module
Common GemFire Configuration Changes for AppServers
GemFire Pulse
Pulse Quick Start (Embedded Mode)
Hosting Pulse on a Web Application Server
Configuring Pulse Authentication
Using Pulse Views
Visual Statistics Display
VSD Overview
Installing and Running VSD
Viewing Statistics in VSD
Quick Guide to Useful Statistics
Reference
gemfire.properties and gfsecurity.properties (GemFire Properties)
Using Non-ASCII Strings in Pivotal GemFire Property Files
cache.xml
cache.xml Quick Reference
<cache> Element Hierarchy
<cache> Element Reference
<cache-transaction-manager>
<transaction-listener>
<transaction-writer>
<dynamic-region-factory>
<gateway-hub>
<gateway>
<gateway-endpoint>
<gateway-listener>
<gateway-queue>
<gateway-sender>
<gateway-event-filter>
<gateway-event-substitution-filter>
<gateway-transport-filter>
<gateway-receiver>
<gateway-transport-filter>
<gateway-conflict-resolver>
<async-event-queue>
<gateway-event-filter>
<gateway-event-substitution-filter>
<async-event-listener>
<cache-server>
<group>
<client-subscription>
<custom-load-probe>
<pool>
<locator>
<server>
<disk-store>
<disk-dirs>
<disk-dir>
<pdx>
<pdx-serializer>
<region-attributes>
<key-constraint>
<value-constraint>
<region-time-to-live>
<expiration-attributes>
<custom-expiry>
<region-idle-time>
<expiration-attributes>
<custom-expiry>
<entry-time-to-live>
<expiration-attributes>
<custom-expiry>
<entry-idle-time>
<expiration-attributes>
<custom-expiry>
<partition-attributes>
<partition-resolver>
<partition-listener>
<fixed-partition-attributes>
<membership-attributes>
<required-role>
<subscription-attributes>
<cache-loader>
<cache-writer>
<cache-listener>
<compressor>
<eviction-attributes>
<lru-entry-count>
<lru-heap-percentage>
<lru-memory-size>
<jndi-bindings>
<jndi-binding>
<config-property>
<config-property-name>
<config-property-type>
<config-property-value>
<region>
<index>
<functional>
<primary-key>
<entry>
<key>
<declarable>
<string>
<value>
<declarable>
<string>
<region>
<vm-root-region>
<function-service>
<function>
<resource-manager>
<serialization-registration>
<serializer>
<instantiator>
<backup>
<initializer>
<declarable>
<class-name> and <parameter>
<declarable>
<string>
<client-cache> Element Hierarchy
<client-cache> Element Reference
<cache-transaction-manager>
<transaction-listener>
<transaction-writer>
<pool>
<locator>
<server>
<disk-store>
<disk-dirs>
<disk-dir>
<pdx>
<pdx-serializer>
<region-attributes>
<key-constraint>
<value-constraint>
<region-time-to-live>
<expiration-attributes>
<custom-expiry>
<region-idle-time>
<expiration-attributes>
<custom-expiry>
<entry-time-to-live>
<expiration-attributes>
<custom-expiry>
<entry-idle-time>
<expiration-attributes>
<custom-expiry>
<cache-loader>
<cache-writer>
<cache-listener>
<eviction-attributes>
<lru-entry-count>
<lru-heap-percentage>
<lru-memory-size>
<jndi-bindings>
<jndi-binding>
<config-property>
<region>
<region-attributes>
<index>
<functional>
<primary-key>
<entry>
<key>
<string>
<declarable>
<value>
<string>
<declarable>
<region>
<function-service>
<function>
<resource-manager>
<serialization-registration>
<serializer>
<instantiator>
<initializer>
Region Shortcuts
Region Shortcuts Quick Reference
LOCAL
LOCAL_HEAP_LRU
LOCAL_OVERFLOW
LOCAL_PERSISTENT
LOCAL_PERSISTENT_OVERFLOW
PARTITION
PARTITION_HEAP_LRU
PARTITION_OVERFLOW
PARTITION_PERSISTENT
PARTITION_PERSISTENT_OVERFLOW
PARTITION_PROXY
PARTITION_PROXY_REDUNDANT
PARTITION_REDUNDANT
PARTITION_REDUNDANT_HEAP_LRU
PARTITION_REDUNDANT_OVERFLOW
PARTITION_REDUNDANT_PERSISTENT
PARTITION_REDUNDANT_PERSISTENT_OVERFLOW
REPLICATE
REPLICATE_HEAP_LRU
REPLICATE_OVERFLOW
REPLICATE_PERSISTENT
REPLICATE_PERSISTENT_OVERFLOW
REPLICATE_PROXY
Exceptions and System Failures
Memory Requirements for Cached Data
Core Guidelines for GemFire Data Region Design
Memory Usage Overview
Calculating Application Object Overhead
Using Key Storage Optimization
Measuring Cache Overhead
Estimating Management and Monitoring Overhead
Determining Object Serialization Overhead
Calculating Socket Memory Requirements
GemFire Statistics List
Cache Performance (CachePerfStats)
Cache Server (CacheServerStats)
Client-Side Notifications (CacheClientUpdaterStats)
Client-to-Server Messaging Performance (ClientStats)
Client Connection Pool (PoolStats)
Delta Propagation (DeltaPropagationStatistics)
Disk Space Usage (DiskDirStatistics)
Disk Usage and Performance (DiskRegionStatistics)
Distributed System Messaging (DistributionStats)
Distributed Lock Services (DLockStats)
Function Execution (FunctionServiceStatistics)
Indexes (IndexStats)
JVM Performance
Locator (LocatorStatistics)
Partitioned Regions (PartitionedRegion<partitioned_region_name>Statistics)
Operating System Statistics - Linux
Operating System Statistics - Solaris
Operating System Statistics - Windows
Region Entry Eviction – Count-Based (LRUStatistics)
Region Entry Eviction – Size-based (LRUStatistics)
Server Notifications for All Clients (CacheClientNotifierStatistics)
Server Notifications for Single Client (CacheClientProxyStatistics)
Server-to-Client Messaging Performance (ClientSubscriptionStats)
Statistics Collection (StatSampler)
Continuous Querying (CQStatistics)
Gateway Queue (GatewayStatistics)
Glossary
Pivotal GemFire 8.2.x Native Client User's Guide
Pivotal GemFire Native Client 8.2 Release Notes
Pivotal GemFire Native Client Supported Configurations
Getting Started with Pivotal GemFire Native Client
About the Native Client
Installing the Native Client
Installing on Linux and Solaris
Installing on Windows
Uninstalling the Native Client
Running Native Client Applications
Developing C++ Programs on Linux
Developing C++ Programs on Solaris
Developing C++ Programs on Windows
QuickStart Examples and Guide
Running the QuickStart Examples
Accessing the QuickStart Guide
Setting System Properties
Configuring the Native Client and Cache Server
Native Client Configuration
Cache Server Configuration
Attribute Definition Priority
Search Path for Multiple gfcpp.properties Files
Overriding gfcpp.properties Settings
Defining Properties Programmatically
Attributes in gfcpp.properties
gfcpp.properties Example File
Using the Default Sample File
Configuring the Native Client Cache
Caches
About the Native Client Cache
Cache APIs
Local, Remote, and Distributed Caches
Creating and Accessing a Cache
Closing the Cache
Cache Initialization File (cache.xml)
Cache Initialization File Basics
Example cache.xml File
Native Client Cache XML DTD
Regions
Declarative Region Creation
Programmatic Region Creation
Invalidating and Destroying Regions
Region Access
Getting the Region Size
Region Entries
Entry Distribution Requirements
Registering Interest for Entries
Using serverKeys to Retrieve a Set of Region Keys
Adding Entries to the Cache
Updating Entries
Accessing Entries
Invalidating or Destroying Cached Entries
Notification for Operations
Region Consistency
Region Attributes
Specifying Region Attributes
RegionShortcuts
Mutable and Immutable Region Attributes
CachingEnabled
InitialCapacity
LoadFactor
ConcurrencyLevel
ConcurrencyChecksEnabled
LruEntriesLimit
DiskPolicy
PersistenceManager
Specifying Application Plug-In Attributes
Specifying Expiration Attributes
Cache Management
Client-to-Server Connection Process
Controlling Cache Size
Managing the Lifetime of a Cached Object
Using Thread Safety in Cache Management
Troubleshooting
Pivotal GemFire Native Client C++ API
About the Native Client C++ API
Creating a Cache
Creating a Proxy Client-Side Region
Adding an Entry to the Cache
Accessing an Entry
Removing an Entry
Serializing Data
Region Data Requiring Serialization
Data Serialization Options
Serializing Data with GemFire PDX Serialization
Serialize Your Domain Objects with PdxSerializer and PdxWrapper
Serialize Using the GemFire PdxSerializable Class
Performing put, get, and localDestroy Operations with a PDX Domain Object
Using Automatic PDX Serialization
Programming Your Application to Use PdxInstances
Configuring PDX to Ignore Unread Fields During Deserialization
Using PdxInstanceFactory to Create PdxInstances
Using C++ Enum Type with PDX Serialization
Using PDX Serialization with Delta Propagation
Serializing Data with the GemFire Serializable Interface
Serializing Object Graphs
Serializing and Accessing Data as a Blob
Implementing User-Defined Objects in Java Clients
Using a Custom Class
Creating New Statistics
Pivotal GemFire Native Client C# .NET API
About the Native Client C# .NET API
C# .NET Naming and Usage Conventions
Primary APIs in GemStone::GemFire::Cache::Generic
Cache APIs
Region and Entry APIs
Data Serialization APIs
Event Handling APIs
Property Collections and Logging APIs
C++ Class to .NET Class Mappings
Java to .NET Type Mapping Table
Object Lifetimes
.NET Application Domains
Problem Scenarios
Creating a Cache
Creating a Region
Adding an Entry to the Cache
Accessing an Entry
Removing an Entry
Data Serialization
Data Serialization Options
Serialize with GemFire PDX Serialization
GemFire PDX Serialization Features
Serialize Using the GemFire PDX Autoserializer
Extend the PDX Autoserializer
Serialize Your Domain Objects with IPdxSerializer
Serialize Using the GemFire IPdxSerializable Interface
Program Your Application to Use IPdxInstance
Use the IPdxInstanceFactory to Create IPdxInstances
Map .NET Domain Type Names to PDX Type Names with IPdxTypeMapper
Serialize with the GemFire IGFSerializable Interface
Generic and Custom Serializable Types
How Serialization Works with IGFSerializable
Implement the IGFSerializable Interface
Register the Type
Using a Custom Class With IGFSerializable
Application Callbacks
A Simple C# Example
Troubleshooting .NET Applications
Resolving the Error
Using GemStone.GemFire.Cache.dll As a Private Assembly
Implementing the Shared Assembly
Preserving Data
High Availability for Client-Server Communication
Configuring Native Clients for High Availability
Sending Periodic Acknowledgment
Enabling Queue Conflation to Improve Update Performance
Durable Client Messaging
Durable Client Messaging Requirements
Client-Side Configuration
Configuring a Durable Native Client
Configuring Durable Interest in Keys
Configuring Durable Client Reconnection
Sending Cache Ready Messages to the Server
Disconnecting from the Server
Life Cycle of a Durable Client
Initial Operation
Disconnection
Reconnection
Durable Message Replay
Application Operations During Interest Registration
Implementing Cache Listeners for Durable Clients
Security
Authentication
Process and Multiuser Authentication
Configuring Credentials for Authentication
Configuring Authentication by the Cache Server
Server Authentication Errors
Creating Multiple Secure User Connections
Requirements and Caveats for RegionService
Using an LDAP Server for Client Authentication
Encrypted Authentication
Encrypt Credentials with Diffe-Hellman
Using PKCS for Encrypted Authentication
Client Authorization
Configuring Client Authorization
Post-Operative Authorization
Determining Pre- or Post-Operation Authorization
Security-Related System Properties (gfcpp.properties)
SSL Client/Server Communication
Step 1: Download and install OpenSSL
Step 2: Create keystores
Step 3: Configure environment variables
Step 4: Configure SSL properties in gfcpp.properties and gemfire.properties
Step 5: Start and stop the client and server
Limitations
Remote Querying
Remote Querying Basics
Examples Data and Class Definitions
Executing a Query from the Native Client
Querying the Portfolios Region
Modifying Cache Contents
Creating Indexes
Remote Querying Requirements
Using Query Strings in the Native Client
FROM Clause
Using Iterator Variables
Importing and Using Object Classes
Predefined Class Types
Specifying the Object Types of FROM Clause Collections
SELECT Projection List
SELECT Statement Query Results
WHERE Clause
Joins
Accessing Cached Data
Basic Region Access
Attribute Visibility
Modifying Query Scope
Nested Query Scopes
When Names Cannot Be Resolved
Query Language Elements
Method Invocation
Query Language Literals Supported by Native Client
Type Conversions
Remote Query API
Creating and Managing Queries
Query Result Sets
Query Code Samples Returning ResultSet
Query Code Samples Returning StructSet
Continuous Querying
How Continuous Querying Works
Implementing a Continuous Query
Configuring Your System for Continuous Querying
Writing the Continuous Query
Writing the CQ Listener or CQ Status Listener
CqEvent Object
Running the Continuous Query Code
CQ Execution Options
When an Error Occurs in a Running CQ
Managing Continuous Queries
CQ API and Main Features
Using Connection Pools
How Client Load Balancing Works
Server Locators
Connection Pools
Discovering Locators Dynamically
Configuring Pools
Native Client Pool API
Pool Configuration Example and Settings
Subscription Properties
Running the Connection Pool Code
Transactions
How Native Client Transactions Work
Running a Native Client Transaction
Suspending and Resuming Transactions
Function Execution
Understanding Data-Aware Function Routing
How Functions Execute
Executing Functions in GemFire
Running the Function
Programming to Get Function Results
Solutions and Use Cases
Delta Propagation
How Delta Propagation Works
Delta Propagation API
Cloning
Implementing Delta Propagation
Exceptions and Limitations
Examples of Delta Propagation
Programming Examples
Declaring a Native Client Region
API Programming Example – C#
API Programming Example – C++
Data Serialization Examples
C++ Serialization Example
C# Serialization Example
Java Serialization Example
Interoperability of Language Classes and Types
C++ Class to .NET Class Mappings
Interoperability of C++ Types When Using PDX Serialization
Java to .NET Type Mapping Table
System Statistics
Sampling Statistics
System Performance Statistics
Region Statistics
Cache Performance Statistics
Continuous Query Statistics
CQ Service Statistics
Pool Statistics
Delta Statistics
Operating System Statistics
Linux Process Statistics
Solaris Process Statistics
Windows Process Statistics
Installing the SQLite Persistence Manager
Linux Installation
Solaris Installation
Windows Installation
Glossary
Query Language Elements
Query Language Elements
This section discusses various aspects and tools of the native client query engine.
Method Invocation
The query language supports method invocation inside query expressions.
Query Language Literals Supported by Native Client
Query language expressions can contain literals as well as operators and attribute names. The native client supports many types of literals.
Type Conversions
Java rules within a query string require the query processor to perform implicit conversions and promotions under certain cases in order to evaluate expressions that contain different types.
Parent topic:
Remote Querying
Release Notes
Download
Ask for Help
PDF