vFabric Suite 5.3
Supported Configurations and System Requirements
Getting Started with vFabric Suite
Quick Start Guide
Overview of vFabric Suite 5.3
vFabric Suite Editions and Components
Component Integration and Cross-Platform Consistency
Optimized for vSphere and Spring-Built Applications
Product Overviews
vFabric tc Server 2.9 (Spring Edition)
vFabric EM4J 1.3
Spring Insight Operations 1.9
vFabric Hyperic 5.0
tc Server Plug-In for Easier Management and Monitoring
Spring Insight Plug-In for Detailed Application Metrics
vFabric GemFire 7.0 (Application Cache Node)
HTTP Session Replication
vFabric RabbitMQ 3.0
vFabric Web Server 5.3
vFabric SQLFire 1.1 (Professional)
vFabric Application Director 5.0 (Provisioning)
vFabric Postgres 9.2 (Standard Edition)
vFabric Suite Licensing
vFabric Suite Licensing Terminology
How vFabric Suite Licensing Works
Licensing for vFabric Suite
Licensing for Standalone vFabric Components
Check the Validity of an Existing License Key
Installing vFabric License Server and Activating Your License
Installing vFabric License Server on Your vCenter Server
Guidelines for Creating the vFabric License Server Database Instance
Create the Microsoft SQL Server ODBC Data Source
Create the Oracle ODBC Data Source
Install vFabric License Server on the vCenter Server
RHEL Only: Installing vFabric License Server Standalone
Starting and Stopping the Standalone vFabric License Server
Configure vFabric Components to Communicate with Standalone vFabric License Server
Activate vFabric Suite Licenses
Activate a vFabric Suite License in vCenter
Activate a vFabric Suite License with the Standalone License Server
Optionally Configure Computer to Track License Usage of OSS Components on RHEL
Upgrade vFabric License Server on vCenter Server
Uninstall vFabric License Server from vCenter Server
Uninstall Standalone vFabric License Server
Monitoring vFabric License Usage
Monitor License Usage with Command-Line Tools
License Monitoring: Command Reference
current-usage
current-versions
usage-over-periods
versions-over-periods
Monitor License Usage with the vFabric License Server Reporting UI
Display the Component Events File in Readable Format
vCenter License Reporting Manager
FAQ: vFabric Suite Integration and Off-Cycle Releases
Supported Configurations and System Requirements
Getting Started with vFabric Suite
Quick Start Guide
Overview of vFabric Suite 5.3
vFabric Suite Editions and Components
Component Integration and Cross-Platform Consistency
Optimized for vSphere and Spring-Built Applications
Product Overviews
vFabric tc Server 2.9 (Spring Edition)
vFabric EM4J 1.3
Spring Insight Operations 1.9
vFabric Hyperic 5.0
tc Server Plug-In for Easier Management and Monitoring
Spring Insight Plug-In for Detailed Application Metrics
vFabric GemFire 7.0 (Application Cache Node)
HTTP Session Replication
vFabric RabbitMQ 3.0
vFabric Web Server 5.3
vFabric SQLFire 1.1 (Professional)
vFabric Application Director 5.0 (Provisioning)
vFabric Postgres 9.2 (Standard Edition)
vFabric Suite Licensing
vFabric Suite Licensing Terminology
How vFabric Suite Licensing Works
Licensing for vFabric Suite
Licensing for Standalone vFabric Components
Check the Validity of an Existing License Key
Installing vFabric License Server and Activating Your License
Installing vFabric License Server on Your vCenter Server
Guidelines for Creating the vFabric License Server Database Instance
Create the Microsoft SQL Server ODBC Data Source
Create the Oracle ODBC Data Source
Install vFabric License Server on the vCenter Server
RHEL Only: Installing vFabric License Server Standalone
Starting and Stopping the Standalone vFabric License Server
Configure vFabric Components to Communicate with Standalone vFabric License Server
Activate vFabric Suite Licenses
Activate a vFabric Suite License in vCenter
Activate a vFabric Suite License with the Standalone License Server
Optionally Configure Computer to Track License Usage of OSS Components on RHEL
Upgrade vFabric License Server on vCenter Server
Uninstall vFabric License Server from vCenter Server
Uninstall Standalone vFabric License Server
Monitoring vFabric License Usage
Monitor License Usage with Command-Line Tools
License Monitoring: Command Reference
current-usage
current-versions
usage-over-periods
versions-over-periods
Monitor License Usage with the vFabric License Server Reporting UI
Display the Component Events File in Readable Format
vCenter License Reporting Manager
FAQ: vFabric Suite Integration and Off-Cycle Releases
vFabric Web Server 5.3
Supported Configurations and System Requirements
vFabric Web Server Installation and Configuration
Overview of vFabric Web Server
Information for International Customers
Complete Packages and Modules in vFabric Web Server 5.3
mod_fcgid Implementation of Connector to FastCGI
Differences Between vFabric Web Server and vFabric ERS
Installing vFabric Web Server
Installation Note for vFabric Suite Customers
Available Distribution Packages
RHEL: Install vFabric Web Server from an RPM
Install vFabric Web Server from the VMware RPM Repository
Install vFabric Web Server From a Downloaded RPM
Unix: Install vFabric Web Server from a Self-Extracting ZIP
Windows: Install vFabric Web Server from a ZIP File
Activate a vFabric Web Server Local License
Description of the vFabric Web Server Installation
Upgrading vFabric Web Server
RHEL: Upgrade Using the VMware RPM Repository
Unix: Upgrade Using a Self-Extracting ZIP
Windows: Upgrade Using a Self-Extracting ZIP
Migrating Enterprise Ready Server to vFabric Web Server
Preparing to Migrate
Audit your Configurations
Directory Structure Changes
Apache Module Changes
Startup Script Changes
Migration Procedure
Creating and Using vFabric Web Server Instances
Description of vFabric Web Server Instances
Create vFabric Web Server Instances
newserver Prompts and Command Reference
Unix: Start and Stop vFabric Web Server Instances
Installing vFabric Web Server Instances as Unix Services
Windows: Start and Stop vFabric Web Server Instances
httpdctl Reference
Serve a Sample HTML File from Your vFabric Web Server Instance
Configuring vFabric Web Server Instances
Using Sample Configuration Files to Enable Features and Modify Configuration
Configure Load Balancing Between Two or More tc Runtime Instances
Configure SSL Between vFabric Web Server and vFabric tc Server
Configure tc Runtime Instances to Use SSL
Configure the vFabric Web Server Instance to Use SSL
Restrict Communication With tc Runtime Instances to Known Clients
Update the Web Server Configuration for HTTPS Connections to tc Runtime Instances
Configure vFabric Web Server to Authenticate Itself Using a Specific Client Certificate
Configure BMX for Monitoring vFabric Web Server Instances
Metrics
vFabric Web Server Server Metrics
vFabric Web Server Virtual Host Metrics
Security Information
External Interfaces, Ports, and Services
Resources That Must Be Protected
Log File Locations
User Accounts Created at Installation
Obtaining and Installing Security Updates
Managing Planned and Unplanned Outages
Managing Planned Outages
Managing Unplanned Outages
Backing Up vFabric Web Server
Additional Documentation
Supported Configurations and System Requirements
vFabric Web Server Installation and Configuration
Overview of vFabric Web Server
Information for International Customers
Complete Packages and Modules in vFabric Web Server 5.3
mod_fcgid Implementation of Connector to FastCGI
Differences Between vFabric Web Server and vFabric ERS
Installing vFabric Web Server
Installation Note for vFabric Suite Customers
Available Distribution Packages
RHEL: Install vFabric Web Server from an RPM
Install vFabric Web Server from the VMware RPM Repository
Install vFabric Web Server From a Downloaded RPM
Unix: Install vFabric Web Server from a Self-Extracting ZIP
Windows: Install vFabric Web Server from a ZIP File
Activate a vFabric Web Server Local License
Description of the vFabric Web Server Installation
Upgrading vFabric Web Server
RHEL: Upgrade Using the VMware RPM Repository
Unix: Upgrade Using a Self-Extracting ZIP
Windows: Upgrade Using a Self-Extracting ZIP
Migrating Enterprise Ready Server to vFabric Web Server
Preparing to Migrate
Audit your Configurations
Directory Structure Changes
Apache Module Changes
Startup Script Changes
Migration Procedure
Creating and Using vFabric Web Server Instances
Description of vFabric Web Server Instances
Create vFabric Web Server Instances
newserver Prompts and Command Reference
Unix: Start and Stop vFabric Web Server Instances
Installing vFabric Web Server Instances as Unix Services
Windows: Start and Stop vFabric Web Server Instances
httpdctl Reference
Serve a Sample HTML File from Your vFabric Web Server Instance
Configuring vFabric Web Server Instances
Using Sample Configuration Files to Enable Features and Modify Configuration
Configure Load Balancing Between Two or More tc Runtime Instances
Configure SSL Between vFabric Web Server and vFabric tc Server
Configure tc Runtime Instances to Use SSL
Configure the vFabric Web Server Instance to Use SSL
Restrict Communication With tc Runtime Instances to Known Clients
Update the Web Server Configuration for HTTPS Connections to tc Runtime Instances
Configure vFabric Web Server to Authenticate Itself Using a Specific Client Certificate
Configure BMX for Monitoring vFabric Web Server Instances
Metrics
vFabric Web Server Server Metrics
vFabric Web Server Virtual Host Metrics
Security Information
External Interfaces, Ports, and Services
Resources That Must Be Protected
Log File Locations
User Accounts Created at Installation
Obtaining and Installing Security Updates
Managing Planned and Unplanned Outages
Managing Planned Outages
Managing Unplanned Outages
Backing Up vFabric Web Server
Additional Documentation
vFabric tc Server 2.9
Supported Configurations and System Requirements
Getting Started with vFabric tc Server
Quick Start
Overview of tc Server
Usability Enhancements to Apache Tomcat
Easy Configuration and Monitoring with the Hyperic tc Server Plug-In
Agile Application Development with Spring Insight Developer
Application Cluster Monitoring with Spring Insight Operations
Enhanced Diagnostics
tc Server Command-Line Interface and Scripts
tc Server Editions
Developer Edition
Standard Edition
Spring Edition
Migrating Java EE Applications to tc Server
Related Documentation
Installing vFabric tc Server
Installation Note for vFabric Suite Customers
Install tc Server Standard Edition From a ZIP or TAR File
RHEL: Install vFabric tc Server Standard Edition from an RPM
Install vFabric tc Server from the VMware RPM Repository
Install vFabric tc Server From a Downloaded RPM
Install tc Server Standard Edition and Hyperic Management Components
Install tc Server Developer Edition From a ZIP or TAR File
Activate a vFabric tc Server Local License
Overview of tc Server Directories, Variables, and Configuration Files
tc Server Variables
tc Runtime Instance Directory Structure
tc Runtime Instance Configuration Files
Enabling Bash Completion for tc Server Scripts
Setting Up Unix Users for tc Server and Hyperic
Creating Users and Groups for Hyperic Agent and tc Server
Setting the tc Server User in Hyperic
Enabling Hyperic Agent Access to su or sudo
Deploying Web Applications on Unix Systems
Uninstalling tc Server: Typical Steps
Uninstalling Hyperic Server
Uninstalling Hyperic Agent
Uninstalling tc Runtime
Creating and Managing tc Runtime Instances
Create and Modify a tc Runtime Instance
Creating tc Runtime Instances with the tcruntime-instance Command Script
tcruntime-instance.sh Reference
create Command
The apply-template Command
The modify-version Command
The upgrade Command
The list Command
Getting Help for tcruntime-instance
Create Evaluation Instances with the createInstance Script
Pinning tc Runtime Instances to a Specific Version
Best Practice: Naming tc Runtime Instances
Differences Between the Separate and Combined Layouts
Using the tc Runtime Templates
Creating a Runtime Instance with the tc Runtime Templates
What the tcruntime-instance Script Does to Create a Runtime Instance
Template Directory Structure
Templates Provided by tc Runtime
Additional Information About Using the SSL Templates
Starting and Stopping tc Runtime Instances
Unix: Starting and Stopping tc Runtime Instances Interactively Using tcruntime-ctl.sh
Unix: Starting tc Runtime Instances Automatically at System Boot Time
About Users and Permissions
Installing the init.d.sh Script
Using the /etc/init.d Script
Windows: Starting and Stopping tc Runtime Instances as Windows Services
Windows Java Service Wrapper
tcruntime-ctl Command Reference
Windows: Setting the Logon-as-Service Right for a Windows User
Windows: Installing the Hyperic Server and Agents as Windows Services
Starting and Stopping the Hyperic Server and Agents
Unix: Starting and Stopping the Hyperic Server and Agent
Windows: Starting and Stopping the Hyperic Server and Agent
Get Started with the Hyperic User Interface
Deploy Applications to tc Runtime Instances
Deploying Applications Using Tomcat Manager (Developer Edition Only)
Deploying Multiple Versions of the Same Application
Embed tc Server
Security Information
External Interfaces, Ports, and Services
Resources That Must Be Protected
Log File Locations
User Accounts Created at Installation
Obtaining and Installing Security Updates
Upgrade and Migration Guide
Upgrade a tc Server Instance to a New version of tc Server
RHEL: Upgrade Using the VMware RPM Repository
Run an ERS Tomcat Instance on tc Server
Migrate an ERS Tomcat Instance to tc Server
Tutorial: Using Hyperic to Configure and Manage tc Runtime Instances
Before You Begin
Restart a tc Runtime Instance
Reconfigure a tc Runtime Instance
Deploy a Web Application to a tc Server Runtime Instance
Add tc Runtime Instances to the Favorite Resources Portlet
Create an Hyperic Group of Multiple tc Runtime Instances
Monitoring tc Runtime Instances
Manage the Preconfigured Deadlock Detected Alert
Tutorial: Very Simple HelloWorld Web Application
Before You Begin
Creating and Deploying the HelloWorld Web Application
Java Source of the Hello.java Servlet
Description of the Hello Servlet
JSP Source for the hello.jsp JSP
Description of the hello.jsp
Sample web.xml File
Description of the web.xml File
Sample Default index.html File
Ant Build File to Compile and Package the Example
Description of the build.xml File
Troubleshooting
Hyperic: Resources Not Showing up in the Hyperic User Interface
Hyperic: Errors When Trying to Add an Auto-Discovered Resource
Hyperic Agent: Errors When Starting on Solaris
tc Runtime: Hot Redeploy/Stop/Undeploy on Windows Fails
tc Runtime: Error When Running a Web Application on tc Runtime and Using SpringSource Tool Suite
tc Runtime: JVM Performing a Full GC
vFabric tc Server Administration
Overview of tc Server Administration
Configuring and Monitoring tc Runtime Instances Using Hyperic
User Permissions Required to Use the tc Server Hyperic Plug-in Features
Managing tc Runtime-Related Hyperic Alerts
Viewing and Changing the Preconfigured Alerts
Viewing and Changing the Metric Collection Interval
Deadlock Detection
Excessive Time in Garbage Collection
Enabling the Slow or Failed Request Alert
Enabling JDBC Connection Monitoring
Hyperic tc Server Plugin Metrics
Securing the Hyperic Server
Configuring a tc Runtime Instance Manually
Configuration Files and Templates
Simple tc Runtime Configuration
Description of the Basic server.xml File
Adding a System Properties Listener
Setting Up a High-Concurrency JDBC Datasource
Comparing the DBCP Datasource and the tc Runtime Datasource
Configuring the tc Runtime High-Concurrency JDBC Datasource
Description of the High Concurrency JDBC Datasource
Configuring SSL
Description of the SSL Connector
Using an APR Connector to Configure SSL
Creating a Simple Keystore File For Both SSL and OpenSSL
Using the Apache Portable Runtime (APR)
Comparing the APR-Enabled server.xml File with Out-of-the-Box server.xml
Configuring FIPS-140 Mode For a tc Runtime Instance
Configuring FIPS-140 Mode for BIO and NIO Connectors
Configuring FIPS-140 Mode for an APR Connector
Configuring Logging for tc Runtime
Configuring the JULI Implementation of java.util.logging
Logging Levels for java.util.logging
Configuring Asynchronous Logging
Asynchronous Logging System Properties
Configuring log4j
Specifying Included Packages With log4j Logging
Configuring a Web Application with log4j Logging
Updating Logging Parameters Dynamically
Setting a New Logging Level for a Logger
Example: Create a New Log File and Redirect Debug Output To It
Obfuscating Passwords in tc Runtime Configuration Files
Using Base64 Encoding to Obfuscate Passwords
Using a Passphrase to Encrypt Passwords
Storing Passphrases and Encrypted Properties in Separate Files
Being Prompted for the Passphrase When you Start the Instance
General Security Best Practices
Configuring an Oracle DataSource With Proxied Usernames
Reporting Status for a Deployed Application, Host, or Engine
Enabling Thread Diagnostics
Configuring a tc Runtime Instance to Obtain Its JMX Credentials from LDAP
Using the tc Server Command-Line Interface
Overview of tcsadmin
HQ API Command-Line Interface (hqapi.sh)
Tips for Windows Users
Downloading the tcsadmin Command-Line Interface
General Syntax of the tcsadmin Command-Line Interface
List of Commands
Connection Parameters
Using Special Characters as Parameter Values
Group Command Behavior
Exit Codes
Getting Help
Inventory Commands
list-servers
modify-server
list-groups
create-group
add-server-to-group
remove-server-from-group
delete-group
Application Management Commands
list-applications
deploy-application
start-application
stop-application
reload-application
undeploy-application
tc Runtime and Group Configuration Commands
get-file
put-file
list-jvm-options
set-jvm-options
tc Runtime and Group Control Commands: Reference
start
stop
restart
Creating tc Runtime Templates
Parts of a Template
README.txt
Environment
Automatic Boilerplate Decoration
Memory and Stack Size JAVA_OPTS Filtering
JVM Type Specific Properties
OS Family Specific Properties
VM Architecture Specific Properties
Combining Values in Qualified Properties
XML Configuration Fragments
Logging Properties Fragment
Other Files
Property Substitution
Implicit Properties
Configuration Prompts
Platform Specificity
Files Excluded on Unix
Files Excluded on Windows
Template Files Excluded
Splitting a Template for Tomcat Versions
Managing Planned and Unplanned Outages
Managing Planned Outages
Managing Unplanned Outages
Backing Up vFabric tc Server
Enabling Clustering for High Availability
Additional Cluster Documentation from Apache
High-Level Steps for Creating and Using tc Runtime Clusters
Web Application Requirements for Using Session Replication
Network Considerations
Configuring a Simple tc Runtime Cluster
Advanced Cluster Configuration Options
Changing the Default Multicast Address and Port
Changing the Maximum Time After Which an Unresponsive Cluster Member Is Dropped
Replicating a Session to a Single Backup Member
Spring Insight Developer
Supported Configurations and System Requirements
What Is Spring Insight Developer?
What You Can Do with Spring Insight
Agile Development
QA Rear View Mirror
Load and Performance Testing
Extended Customization with the Spring Insight Developer Kit
Browser Performance Data from Integration with Google SpeedTracer
How Spring Insight Works
Key Concepts and Terminology
Install and Configure Insight Developer
Install Insight Developer
Configure Spring Insight
Increasing Memory when Using Spring Insight
Using Spring Insight
Before You Begin
Invoke Spring Insight
Browse Applications and End Points
Viewing Recent Activity of Your Application
Filtering Trace Details
Exporting and Importing Traces
Customizing End Point Thresholds
Viewing Spring Insight Data In Google Speed Tracer
Using Annotations To Customize Spring Insight Data For Your Application
@InsightCustomEndpoint
@InsightOperation
@InsightEndPoint
@InsightEndPointQualifier
@InsightObscure
@InsightSensitive Reference
Example of Using Spring Insight Annotations
Getting the Annotation JAR File
Creating Dynamic Concrete Aspects
Overview of Spring Insight Development
Prerequisites for Installing the Spring Insight Developer Kit
Installing the Spring Insight Developer Kit
Using the Spring Insight Plug-ins
Relationships Among Spring Insight Objects and Plug-ins
Building and Deploying the Sample Plug-in
Using the Sample Plug-in
Sample Plug-in Files
CashMoneyOperation.java
CashMoneyOperationCollectionAspect.aj
insight-plugin-myplugin.xml
cash_money_operation.ftl
Collecting Runtime Data
Operation Rendering in the UI
EndPointAnalyzer
Building a Plug-in from the Source Code
Core Plug-in Reference
Akka
annotation
apache-http-client3
apache-http-client4
Axon
blazeds
Cassandra
eclipse-persistence
ehcache
ejb3
files-tracker
gemfire
grails
Hadoop
hibernate
jax-rs
JCR
jdbc
jms
JNDI
jpa
jta
jws
ldap
logging
mail
mongodb
quartz-scheduler
rabbitmq-client
redis
RMI
run-exec
servlet
socket
spring-batch
spring-core
spring-data
spring-integration
spring-security
spring-tx
spring-web
spring-webflow
Struts2
tomcat
Server-Based Instrumentation
Tutorial: Creating an Insight Plug-in with the Insight Development Kit
Contributing Plugins to Insight Core
Spring Insight Operations
Supported Configurations and System Requirements
Overview of Spring Insight Operations
How Spring Insight Operations Works
How Insight Operations Controls Data Collection and Reduces Overhead
Agent - Dashboard Communication
Comparing Spring Insight Operations and Spring Insight Developer
Installation and Configuration Procedures
Master Process: Installation and Configuration Steps
Installation and Configuration Overview
Install Dashboard Template from ZIP Archive
Install Insight Template from RPM
Create and Start Dashboard
Configure User Accounts in Insight
Configure Users in LDAP
Configure HTTP Transport
Configure ActiveMQ Transport
Configure RabbitMQ Transport
Configure Dashboard Data Management
Configure Agent Defaults
Install Agent Using insight-agent.jar
Agent Installer Properties
Install Agent on WebLogic Server
Set Up Agent from Template
Create Insight Agent Using Template
Configure Insight Agent Properties File
Insight Dashboard Properties
Insight Agent Properties
Using Insight Operations
Invoke Spring Insight Operations in Your Browser
Browse all Applications, Servers, and End Points
View Recent Activity of Your Application
Filter Trace Details
Export and Import Traces
Customize End Point Thresholds
Enable and Disable Collection Strategies
Viewing Spring Insight Data In Google Speed Tracer
Agent Management API
agents
GET /services/agent-management/agents
GET /services/agent-management/agents/{agent id}
PUT /services/agent-management/agents/status
Plugins
GET /services/agent-management/plugins
PUT /services/agent-management/plugins/status
Collection Strategies
GET /services/agent-management/strategy/tracing
PUT /services/agent-management/strategy/tracing
User Defined End point Analyzers
GET /services/agent-management/userdefinedendpoints
PUT /services/agent-management/agents/userdefinedendpoints/create
PUT /services/agent-management/agents/userdefinedendpoints/delete
Supported Configurations and System Requirements
Getting Started with vFabric tc Server
Quick Start
Overview of tc Server
Usability Enhancements to Apache Tomcat
Easy Configuration and Monitoring with the Hyperic tc Server Plug-In
Agile Application Development with Spring Insight Developer
Application Cluster Monitoring with Spring Insight Operations
Enhanced Diagnostics
tc Server Command-Line Interface and Scripts
tc Server Editions
Developer Edition
Standard Edition
Spring Edition
Migrating Java EE Applications to tc Server
Related Documentation
Installing vFabric tc Server
Installation Note for vFabric Suite Customers
Install tc Server Standard Edition From a ZIP or TAR File
RHEL: Install vFabric tc Server Standard Edition from an RPM
Install vFabric tc Server from the VMware RPM Repository
Install vFabric tc Server From a Downloaded RPM
Install tc Server Standard Edition and Hyperic Management Components
Install tc Server Developer Edition From a ZIP or TAR File
Activate a vFabric tc Server Local License
Overview of tc Server Directories, Variables, and Configuration Files
tc Server Variables
tc Runtime Instance Directory Structure
tc Runtime Instance Configuration Files
Enabling Bash Completion for tc Server Scripts
Setting Up Unix Users for tc Server and Hyperic
Creating Users and Groups for Hyperic Agent and tc Server
Setting the tc Server User in Hyperic
Enabling Hyperic Agent Access to su or sudo
Deploying Web Applications on Unix Systems
Uninstalling tc Server: Typical Steps
Uninstalling Hyperic Server
Uninstalling Hyperic Agent
Uninstalling tc Runtime
Creating and Managing tc Runtime Instances
Create and Modify a tc Runtime Instance
Creating tc Runtime Instances with the tcruntime-instance Command Script
tcruntime-instance.sh Reference
create Command
The apply-template Command
The modify-version Command
The upgrade Command
The list Command
Getting Help for tcruntime-instance
Create Evaluation Instances with the createInstance Script
Pinning tc Runtime Instances to a Specific Version
Best Practice: Naming tc Runtime Instances
Differences Between the Separate and Combined Layouts
Using the tc Runtime Templates
Creating a Runtime Instance with the tc Runtime Templates
What the tcruntime-instance Script Does to Create a Runtime Instance
Template Directory Structure
Templates Provided by tc Runtime
Additional Information About Using the SSL Templates
Starting and Stopping tc Runtime Instances
Unix: Starting and Stopping tc Runtime Instances Interactively Using tcruntime-ctl.sh
Unix: Starting tc Runtime Instances Automatically at System Boot Time
About Users and Permissions
Installing the init.d.sh Script
Using the /etc/init.d Script
Windows: Starting and Stopping tc Runtime Instances as Windows Services
Windows Java Service Wrapper
tcruntime-ctl Command Reference
Windows: Setting the Logon-as-Service Right for a Windows User
Windows: Installing the Hyperic Server and Agents as Windows Services
Starting and Stopping the Hyperic Server and Agents
Unix: Starting and Stopping the Hyperic Server and Agent
Windows: Starting and Stopping the Hyperic Server and Agent
Get Started with the Hyperic User Interface
Deploy Applications to tc Runtime Instances
Deploying Applications Using Tomcat Manager (Developer Edition Only)
Deploying Multiple Versions of the Same Application
Embed tc Server
Security Information
External Interfaces, Ports, and Services
Resources That Must Be Protected
Log File Locations
User Accounts Created at Installation
Obtaining and Installing Security Updates
Upgrade and Migration Guide
Upgrade a tc Server Instance to a New version of tc Server
RHEL: Upgrade Using the VMware RPM Repository
Run an ERS Tomcat Instance on tc Server
Migrate an ERS Tomcat Instance to tc Server
Tutorial: Using Hyperic to Configure and Manage tc Runtime Instances
Before You Begin
Restart a tc Runtime Instance
Reconfigure a tc Runtime Instance
Deploy a Web Application to a tc Server Runtime Instance
Add tc Runtime Instances to the Favorite Resources Portlet
Create an Hyperic Group of Multiple tc Runtime Instances
Monitoring tc Runtime Instances
Manage the Preconfigured Deadlock Detected Alert
Tutorial: Very Simple HelloWorld Web Application
Before You Begin
Creating and Deploying the HelloWorld Web Application
Java Source of the Hello.java Servlet
Description of the Hello Servlet
JSP Source for the hello.jsp JSP
Description of the hello.jsp
Sample web.xml File
Description of the web.xml File
Sample Default index.html File
Ant Build File to Compile and Package the Example
Description of the build.xml File
Troubleshooting
Hyperic: Resources Not Showing up in the Hyperic User Interface
Hyperic: Errors When Trying to Add an Auto-Discovered Resource
Hyperic Agent: Errors When Starting on Solaris
tc Runtime: Hot Redeploy/Stop/Undeploy on Windows Fails
tc Runtime: Error When Running a Web Application on tc Runtime and Using SpringSource Tool Suite
tc Runtime: JVM Performing a Full GC
vFabric tc Server Administration
Overview of tc Server Administration
Configuring and Monitoring tc Runtime Instances Using Hyperic
User Permissions Required to Use the tc Server Hyperic Plug-in Features
Managing tc Runtime-Related Hyperic Alerts
Viewing and Changing the Preconfigured Alerts
Viewing and Changing the Metric Collection Interval
Deadlock Detection
Excessive Time in Garbage Collection
Enabling the Slow or Failed Request Alert
Enabling JDBC Connection Monitoring
Hyperic tc Server Plugin Metrics
Securing the Hyperic Server
Configuring a tc Runtime Instance Manually
Configuration Files and Templates
Simple tc Runtime Configuration
Description of the Basic server.xml File
Adding a System Properties Listener
Setting Up a High-Concurrency JDBC Datasource
Comparing the DBCP Datasource and the tc Runtime Datasource
Configuring the tc Runtime High-Concurrency JDBC Datasource
Description of the High Concurrency JDBC Datasource
Configuring SSL
Description of the SSL Connector
Using an APR Connector to Configure SSL
Creating a Simple Keystore File For Both SSL and OpenSSL
Using the Apache Portable Runtime (APR)
Comparing the APR-Enabled server.xml File with Out-of-the-Box server.xml
Configuring FIPS-140 Mode For a tc Runtime Instance
Configuring FIPS-140 Mode for BIO and NIO Connectors
Configuring FIPS-140 Mode for an APR Connector
Configuring Logging for tc Runtime
Configuring the JULI Implementation of java.util.logging
Logging Levels for java.util.logging
Configuring Asynchronous Logging
Asynchronous Logging System Properties
Configuring log4j
Specifying Included Packages With log4j Logging
Configuring a Web Application with log4j Logging
Updating Logging Parameters Dynamically
Setting a New Logging Level for a Logger
Example: Create a New Log File and Redirect Debug Output To It
Obfuscating Passwords in tc Runtime Configuration Files
Using Base64 Encoding to Obfuscate Passwords
Using a Passphrase to Encrypt Passwords
Storing Passphrases and Encrypted Properties in Separate Files
Being Prompted for the Passphrase When you Start the Instance
General Security Best Practices
Configuring an Oracle DataSource With Proxied Usernames
Reporting Status for a Deployed Application, Host, or Engine
Enabling Thread Diagnostics
Configuring a tc Runtime Instance to Obtain Its JMX Credentials from LDAP
Using the tc Server Command-Line Interface
Overview of tcsadmin
HQ API Command-Line Interface (hqapi.sh)
Tips for Windows Users
Downloading the tcsadmin Command-Line Interface
General Syntax of the tcsadmin Command-Line Interface
List of Commands
Connection Parameters
Using Special Characters as Parameter Values
Group Command Behavior
Exit Codes
Getting Help
Inventory Commands
list-servers
modify-server
list-groups
create-group
add-server-to-group
remove-server-from-group
delete-group
Application Management Commands
list-applications
deploy-application
start-application
stop-application
reload-application
undeploy-application
tc Runtime and Group Configuration Commands
get-file
put-file
list-jvm-options
set-jvm-options
tc Runtime and Group Control Commands: Reference
start
stop
restart
Creating tc Runtime Templates
Parts of a Template
README.txt
Environment
Automatic Boilerplate Decoration
Memory and Stack Size JAVA_OPTS Filtering
JVM Type Specific Properties
OS Family Specific Properties
VM Architecture Specific Properties
Combining Values in Qualified Properties
XML Configuration Fragments
Logging Properties Fragment
Other Files
Property Substitution
Implicit Properties
Configuration Prompts
Platform Specificity
Files Excluded on Unix
Files Excluded on Windows
Template Files Excluded
Splitting a Template for Tomcat Versions
Managing Planned and Unplanned Outages
Managing Planned Outages
Managing Unplanned Outages
Backing Up vFabric tc Server
Enabling Clustering for High Availability
Additional Cluster Documentation from Apache
High-Level Steps for Creating and Using tc Runtime Clusters
Web Application Requirements for Using Session Replication
Network Considerations
Configuring a Simple tc Runtime Cluster
Advanced Cluster Configuration Options
Changing the Default Multicast Address and Port
Changing the Maximum Time After Which an Unresponsive Cluster Member Is Dropped
Replicating a Session to a Single Backup Member
Spring Insight Developer
Supported Configurations and System Requirements
What Is Spring Insight Developer?
What You Can Do with Spring Insight
Agile Development
QA Rear View Mirror
Load and Performance Testing
Extended Customization with the Spring Insight Developer Kit
Browser Performance Data from Integration with Google SpeedTracer
How Spring Insight Works
Key Concepts and Terminology
Install and Configure Insight Developer
Install Insight Developer
Configure Spring Insight
Increasing Memory when Using Spring Insight
Using Spring Insight
Before You Begin
Invoke Spring Insight
Browse Applications and End Points
Viewing Recent Activity of Your Application
Filtering Trace Details
Exporting and Importing Traces
Customizing End Point Thresholds
Viewing Spring Insight Data In Google Speed Tracer
Using Annotations To Customize Spring Insight Data For Your Application
@InsightCustomEndpoint
@InsightOperation
@InsightEndPoint
@InsightEndPointQualifier
@InsightObscure
@InsightSensitive Reference
Example of Using Spring Insight Annotations
Getting the Annotation JAR File
Creating Dynamic Concrete Aspects
Overview of Spring Insight Development
Prerequisites for Installing the Spring Insight Developer Kit
Installing the Spring Insight Developer Kit
Using the Spring Insight Plug-ins
Relationships Among Spring Insight Objects and Plug-ins
Building and Deploying the Sample Plug-in
Using the Sample Plug-in
Sample Plug-in Files
CashMoneyOperation.java
CashMoneyOperationCollectionAspect.aj
insight-plugin-myplugin.xml
cash_money_operation.ftl
Collecting Runtime Data
Operation Rendering in the UI
EndPointAnalyzer
Building a Plug-in from the Source Code
Core Plug-in Reference
Akka
annotation
apache-http-client3
apache-http-client4
Axon
blazeds
Cassandra
eclipse-persistence
ehcache
ejb3
files-tracker
gemfire
grails
Hadoop
hibernate
jax-rs
JCR
jdbc
jms
JNDI
jpa
jta
jws
ldap
logging
mail
mongodb
quartz-scheduler
rabbitmq-client
redis
RMI
run-exec
servlet
socket
spring-batch
spring-core
spring-data
spring-integration
spring-security
spring-tx
spring-web
spring-webflow
Struts2
tomcat
Server-Based Instrumentation
Tutorial: Creating an Insight Plug-in with the Insight Development Kit
Contributing Plugins to Insight Core
Spring Insight Operations
Supported Configurations and System Requirements
Overview of Spring Insight Operations
How Spring Insight Operations Works
How Insight Operations Controls Data Collection and Reduces Overhead
Agent - Dashboard Communication
Comparing Spring Insight Operations and Spring Insight Developer
Installation and Configuration Procedures
Master Process: Installation and Configuration Steps
Installation and Configuration Overview
Install Dashboard Template from ZIP Archive
Install Insight Template from RPM
Create and Start Dashboard
Configure User Accounts in Insight
Configure Users in LDAP
Configure HTTP Transport
Configure ActiveMQ Transport
Configure RabbitMQ Transport
Configure Dashboard Data Management
Configure Agent Defaults
Install Agent Using insight-agent.jar
Agent Installer Properties
Install Agent on WebLogic Server
Set Up Agent from Template
Create Insight Agent Using Template
Configure Insight Agent Properties File
Insight Dashboard Properties
Insight Agent Properties
Using Insight Operations
Invoke Spring Insight Operations in Your Browser
Browse all Applications, Servers, and End Points
View Recent Activity of Your Application
Filter Trace Details
Export and Import Traces
Customize End Point Thresholds
Enable and Disable Collection Strategies
Viewing Spring Insight Data In Google Speed Tracer
Agent Management API
agents
GET /services/agent-management/agents
GET /services/agent-management/agents/{agent id}
PUT /services/agent-management/agents/status
Plugins
GET /services/agent-management/plugins
PUT /services/agent-management/plugins/status
Collection Strategies
GET /services/agent-management/strategy/tracing
PUT /services/agent-management/strategy/tracing
User Defined End point Analyzers
GET /services/agent-management/userdefinedendpoints
PUT /services/agent-management/agents/userdefinedendpoints/create
PUT /services/agent-management/agents/userdefinedendpoints/delete
vFabric Elastic Memory for Java 1.3
Supported Configurations and System Requirements
Using vFabric Elastic Memory for Java
Main Components and Benefits of EM4J
Installing and Configuring EM4J
Summary of Installation Tasks
Installing the vSphere Web Client EM4J Plug-in
Disabling the vSphere Web Client EM4J Plug-in
Installing the Standalone EM4J Distribution
Enabling EM4J Ballooning in the Virtual Machine
Setting EM4J Configuration Parameters with the vSphere Web Client
Setting Up and Running the Console Guest Collector
Installation Prerequisites
Installing the Console Guest Collector as a Service
Starting the Console Guest Collector from a Shell
Managing the Console Guest Collector
Creating and Starting an EM4J-Enabled tc Runtime Instance
Configuring an EM4J-Enabled tc Runtime Instance
Setting JVM System Properties
Using Elastic Memory for Java with Apache Tomcat
Security Information
External Ports
Resources That Must be Protected
Log File Locations
User Accounts Created at Installation
Configuring Virtual Machines for Java Workloads
Challenges to Configuring VMs with Java Workloads
Historical and Real-Time Data for ESXi VM Memory and JVM Memory
Understanding Heap Memory Management
Observing Memory Use on the Workload Performance Graph
Guidelines for Right-Sizing
When Potential Heap Size Exceeds vRAM Size
How Guest Ballooning Affects the Guest
Ballooning vs. Right-Sizing
EM4J Balloon
Large Pages
Distributing Multiple Java Workloads Among Virtual Machines
Monitoring vFabric EM4J
vSphere 5.1: Monitoring Memory with vSphere Web Client
Viewing Java Workloads in the vSphere Web Client
Summary Tab
Monitor Tab
Issues Tab
Resource Allocation Tab
Related Objects Tab
Monitoring Workload Performance
vSphere 5.0: Monitoring Memory with vSphere Web Client
Viewing Java Workloads in the vSphere Web Client
Summary Tab
Alerts Tab
Monitor Tab
History Tab
Monitoring Memory with EM4J MBeans
Monitoring EM4J MBeans with Hyperic Server
Adding a JVM to the Hyperic User Interface
Viewing EM4J MBeans in the Hyperic User Interface
Monitoring EM4J MBeans with JConsole
EM4J MBean Reference
BalloonConfig MBean
BalloonInternals MBean
JvmBalloonState MBean
TransparentHeapSharing MBean
VmBalloonState MBean
EM4J and DRS or vMotion
Virtual Machine Suspend-and-Resume
How ESXi and the EM4J Agent Improve Memory Utilization
Transparent Page Sharing
VMware Tools Balloon
EM4J Balloon
Memory Compression
Transparent Heap Sharing
Supported Configurations and System Requirements
Using vFabric Elastic Memory for Java
Main Components and Benefits of EM4J
Installing and Configuring EM4J
Summary of Installation Tasks
Installing the vSphere Web Client EM4J Plug-in
Disabling the vSphere Web Client EM4J Plug-in
Installing the Standalone EM4J Distribution
Enabling EM4J Ballooning in the Virtual Machine
Setting EM4J Configuration Parameters with the vSphere Web Client
Setting Up and Running the Console Guest Collector
Installation Prerequisites
Installing the Console Guest Collector as a Service
Starting the Console Guest Collector from a Shell
Managing the Console Guest Collector
Creating and Starting an EM4J-Enabled tc Runtime Instance
Configuring an EM4J-Enabled tc Runtime Instance
Setting JVM System Properties
Using Elastic Memory for Java with Apache Tomcat
Security Information
External Ports
Resources That Must be Protected
Log File Locations
User Accounts Created at Installation
Configuring Virtual Machines for Java Workloads
Challenges to Configuring VMs with Java Workloads
Historical and Real-Time Data for ESXi VM Memory and JVM Memory
Understanding Heap Memory Management
Observing Memory Use on the Workload Performance Graph
Guidelines for Right-Sizing
When Potential Heap Size Exceeds vRAM Size
How Guest Ballooning Affects the Guest
Ballooning vs. Right-Sizing
EM4J Balloon
Large Pages
Distributing Multiple Java Workloads Among Virtual Machines
Monitoring vFabric EM4J
vSphere 5.1: Monitoring Memory with vSphere Web Client
Viewing Java Workloads in the vSphere Web Client
Summary Tab
Monitor Tab
Issues Tab
Resource Allocation Tab
Related Objects Tab
Monitoring Workload Performance
vSphere 5.0: Monitoring Memory with vSphere Web Client
Viewing Java Workloads in the vSphere Web Client
Summary Tab
Alerts Tab
Monitor Tab
History Tab
Monitoring Memory with EM4J MBeans
Monitoring EM4J MBeans with Hyperic Server
Adding a JVM to the Hyperic User Interface
Viewing EM4J MBeans in the Hyperic User Interface
Monitoring EM4J MBeans with JConsole
EM4J MBean Reference
BalloonConfig MBean
BalloonInternals MBean
JvmBalloonState MBean
TransparentHeapSharing MBean
VmBalloonState MBean
EM4J and DRS or vMotion
Virtual Machine Suspend-and-Resume
How ESXi and the EM4J Agent Improve Memory Utilization
Transparent Page Sharing
VMware Tools Balloon
EM4J Balloon
Memory Compression
Transparent Heap Sharing
vFabric GemFire 7.0
Supported Configurations and System Requirements
vFabric GemFire Supported Configurations
Host Machine Requirements
Dependencies on Linux RPM Packages
Running vFabric GemFire in Pure Java Mode
vFabric GemFire Tools Supported Configurations
GemFire Pulse System Requirements
DataBrowser System Requirements
VSD System Requirements
vFabric GemFire Native Client Supported Configurations
vFabric GemFire Modules Supported Configurations
vFabric GemFire User's Guide
Documentation Roadmap
Getting Started with vFabric GemFire
vFabric GemFire in 15 Minutes or Less
About vFabric GemFire
Main Features of vFabric GemFire
Installing vFabric GemFire
Pre-Installation Note for vFabric Suite Customers
RHEL: Install vFabric GemFire (Standalone) from RPM
RHEL: Install vFabric GemFire (vFabric Suite) from the VMware YUM Repository
Install vFabric GemFire from a ZIP File
How to Uninstall GemFire
Upgrading vFabric GemFire
Before You Upgrade
RHEL: Upgrade vFabric GemFire (Standalone) from RPM
RHEL: Upgrade vFabric GemFire (vFabric Suite) from the VMware YUM Repository
Upgrade vFabric GemFire from a ZIP File
Performing a Rolling Upgrade
vFabric GemFire Version Compatibility Rules
Understanding vFabric GemFire Licenses
vFabric Suite and vFabric GemFire Licenses
vFabric GemFire License Options
Choosing a License Option Based on Topology
Checking License Quantity
How GemFire Manages Licenses
Installing and Configuring vFabric GemFire Licenses
Option 1: Install Serial Numbers in gemfire.properties
Option 2: Install Serial Numbers in vFabric Serial Number Files
vFabric Suite Only: Configure GemFire for vFabric License Server
Troubleshooting Issues with vFabric GemFire Licenses
Setting Up the Product Examples
vFabric GemFire Tutorial
Tutorial Introduction
vFabric 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
Management and Monitoring Example
JSON Example
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
Secure Client Example
Multiple Secure Client Example
Distributed Locking Example
Benchmark Examples
Peer-to-Peer Benchmark Example
Client Server Benchmark Example
Benchmark Parameters
Troubleshooting Checklist
Getting Started with Spring Data GemFire
About vFabric GemFire
About Spring Data GemFire
Overview of Application Development with Spring Data GemFire
Recommended Development Model
Spring Data GemFire Code Examples
Additional Resources
Configuring GemFire Components with the Spring Framework
System Requirements
Downloading vFabric GemFire and Spring Data GemFire Components
Configuring Caches
Configuring Regions
Configuring Cache Listeners
Configuring a Client/Server Architecture
Configuring Continuous Querying
Configuring Persistence
Configuring Transactions
Configuring Functions
Additional Spring Data GemFire Examples
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
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
Developing with vFabric GemFire
Region Data Storage and Distribution
Storage and Distribution Options
Region Types
Region Data Stores and Data Accessors
Partitioned Regions
Understanding Partitioning
Configuring Partitioned Regions
Configuring the Number of Buckets for a Partitioned Region
Custom-Partitioning and Co-locating Data
Understanding Custom Partitioning and Data Colocation
Custom-Partition Your Region Data
Co-locate 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
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
vFabric 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
vFabric 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 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 vFabric 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 Queries for Low Memory
Using Query Bind Parameters
Working with Indexes
Tips and Guidelines on Using Indexes
Creating, Listing and Removing Indexes
Creating Key Indexes
Creating Hash Indexes
Maintaining Indexes (Synchronously or Asynchronously) and Index Storage
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
Partitioned Region Query Restrictions
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
How Transactions Work
Transaction Coding Examples
Basic Suspend and Resume Transaction Example
Basic Transaction Example
Transaction Run in Multiple Regions
Transactional Function Example
Running a Transaction in vFabric GemFire
vFabric GemFire Transaction Semantics
Cache Design for Transactions
Working with vFabric GemFire Transactions
Transaction Events
Application Plug-Ins and Transactions
Transactions by Region Type
Client Transactions
Suspending and Resuming Transactions
Comparing Transactional and Non-Transactional Operations
Queries and Indexes with Transactions
Collections and Region.Entry Instances in Transactions
Using Eviction and Expiration Operations
Using JTA Transactions with vFabric GemFire
Configuring Database Connections Using JNDI
Example DataSource Configurations in cache.xml
Using Multiple Data Sources in a Transaction
Monitoring and Troubleshooting Transactions
Function Execution
Use Cases for Function Execution
How Function Execution Works
Executing a Function in vFabric GemFire
Managing vFabric GemFire
GemFire Management and Monitoring
Management and Monitoring Features
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
Browsing GemFire MBeans through JConsole
GemFire JMX MBean Notifications
Notification Federation
List of GemFire JMX MBean Notifications
MemberMXBean 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
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
Handling Missing Disk Stores
Managing How Data is Written to Disk
Back Up and Restore a Disk Store
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
Network Partitioning
How Network Partitioning Management Works
Failure Detection and Membership Views
Membership Coordinators, Lead Members and Member Weighting
Network Partitioning Scenarios
Configure vFabric GemFire to Handle Network Partitioning
Preventing Network Partitions
Security
vFabric GemFire Security Features
Security Information Specific to vFabric 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
Implementing SSL
SSL Sample Implementation
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 vFabric 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 Peer-to-Peer Handshake Timeouts
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
Categories of Log Messages
Naming, Searching, and Creating Log Files
Set Up Logging
Statistics
How Statistics Work
Transient Region and Entry Statistics
Application-Defined Statistics
Configuring and Using Statistics
GemFire Statistics List
Troubleshooting and System Recovery
Producing Data Files for System Recovery
Diagnosing System Problems
System Failure and Recovery
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
Understanding and Recovering from Network Outages
Deploying and Running vFabric GemFire
Deploying vFabric GemFire Configuration Files
Main Steps to Deploying Configuration Files
Default File Specifications and Search Locations
Changing the File Specifications
Deploying Configuration Files in JAR Files
Managing vFabric GemFire System Output Files
Starting Up and Shutting Down Your System
Introduction to Startup and Shutdown
Starting Up Your System
Shutting Down the System
Using the GemFire SHell (gfsh)
What You Can Do with gfsh
Starting gfsh
Basic Shell Features and Command-Line Usage
Tutorial: Performing Common Tasks with gfsh
Configuring the gfsh Environment
Useful gfsh Shell Variables
Quick Reference of gfsh Commands by Functional Area
Basic GemFire SHell 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
Region Commands
Server Commands
gfsh Command Help
alter
alter disk-store
alter runtime
backup disk-store
close
close durable-client
close durable-cq
compact
compact disk-store
compact offline-disk-store
connect
create
create index
create region
debug
deploy
describe
describe config
describe connection
describe disk-store
describe member
describe region
destroy
destroy function
destroy index
destroy region
disconnect
echo
encrypt
execute
exit
export
export config
export data
export logs
export stack-traces
gc
get
help
hint
history
import
list
list deployed
list disk-stores
list durable-cqs
list functions
list gateways
list indexes
list members
list regions
locate
netstat
pause gateway-sender
put
query
rebalance
remove
resume gateway-sender
revoke missing-disk-store
run
set variable
show
show dead-locks
show log
show metrics
show missing-disk-stores
show subscription-queue-size
shutdown
sleep
start
start data-browser
start gateway-receiver
start gateway-sender
start jconsole
start jvisualvm
start locator
start pulse
start server
start vsd
status
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
vFabric GemFire Locator Process
vFabric GemFire Servers
Using Member Groups
Deploying Application JARs to vFabric GemFire Members
Firewall Considerations
Firewalls and Connections
Firewalls and Ports
Locators, Gateway Receivers, and Ports
Tools and Modules
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 vFabric 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
Hibernate Cache Module
Why Use Gemfire with Hibernate?
How GemFire Works with Hibernate
Installing the Hibernate Cache Module
Setting Up the Hibernate Cache Module
Advanced Configuration (Hibernate Cache Module)
Changing vFabric GemFire Default Configuration (Hibernate Cache Module)
Using Hibernate Cache Module with HTTP Session Management Module
Gemcached
How Gemcached Works
Deploying and Configuring a Gemcached Server
Advantages of Gemcached over Memcached
DiskConverterPre65to65
Running DiskConverterPre65to65
GemFire Pulse
Pulse Quick Start (Embedded Mode)
Hosting Pulse on a Web Application Server
Configuring Pulse Authentication
Using Pulse Views
DataBrowser
DataBrowser System Requirements
Installation and Licensing
Running DataBrowser
Connecting DataBrowser to a vFabric GemFire System
Tour of the DataBrowser Interface
DataBrowser Preferences
How DataBrowser Works
Visual Statistics Display
VSD Overview
VSD System Requirements
Installing and Running VSD
Viewing Statistics in VSD
Reference
gemfire.properties and gfsecurity.properties (GemFire Properties)
Using Non-ASCII Strings in vFabric GemFire Property Files
cache.xml
cache.xml Quick Reference
<cache> Element Hierarchy
<cache> Element Reference
<cache-transaction-manager>
<transaction-listener>
<transaction-writer>
<gateway-hub>
<gateway>
<gateway-endpoint>
<gateway-listener>
<gateway-queue>
<gateway-sender>
<gateway-event-filter>
<gateway-transport-filter>
<gateway-receiver>
<gateway-transport-filter>
<gateway-conflict-resolver>
<async-event-queue>
<async-event-listener>
<cache-server>
<group>
<client-subscription>
<custom-load-probe>
<bridge-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>
<disk-write-attributes>
<asynchronous-writes>
<synchronous-writes>
<disk-dirs>
<partition-attributes>
<partition-resolver>
<partition-listener>
<fixed-partition-attributes>
<membership-attributes>
<required-role>
<subscription-attributes>
<cache-loader>
<cache-writer>
<cache-listener>
<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>
<string>
<declarable>
<value>
<string>
<declarable>
<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>
<disk-write-attributes>
<asynchronous-writes>
<synchronous-writes>
<disk-dirs>
<disk-dir>
<partition-attributes>
<partition-resolver>
<partition-listener>
<fixed-partition-attributes>
<membership-attributes>
<required-role>
<subscription-attributes>
<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>
Exceptions and System Failures
Memory Requirements for Cached Data
Glossary
vFabric GemFire Native Client User's Guide
Getting Started with vFabric GemFire Native Client
About the Native Client
Installing the Native Client
Installing on Linux and Solaris
Installing on Windows
Uninstalling the Native Client
Licensing
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
vFabric 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
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
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
vFabric 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
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
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: Compile ACE SSL or request precompiled ACE SSL DLL from VMware
Step 3: Create keystores
Step 4: Configure environment variables
Step 5: Configure SSL properties in gfcpp.properties and gemfire.properties
Step 6: 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++ Example
C# 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
Supported Configurations and System Requirements
vFabric GemFire Supported Configurations
Host Machine Requirements
Dependencies on Linux RPM Packages
Running vFabric GemFire in Pure Java Mode
vFabric GemFire Tools Supported Configurations
GemFire Pulse System Requirements
DataBrowser System Requirements
VSD System Requirements
vFabric GemFire Native Client Supported Configurations
vFabric GemFire Modules Supported Configurations
vFabric GemFire User's Guide
Documentation Roadmap
Getting Started with vFabric GemFire
vFabric GemFire in 15 Minutes or Less
About vFabric GemFire
Main Features of vFabric GemFire
Installing vFabric GemFire
Pre-Installation Note for vFabric Suite Customers
RHEL: Install vFabric GemFire (Standalone) from RPM
RHEL: Install vFabric GemFire (vFabric Suite) from the VMware YUM Repository
Install vFabric GemFire from a ZIP File
How to Uninstall GemFire
Upgrading vFabric GemFire
Before You Upgrade
RHEL: Upgrade vFabric GemFire (Standalone) from RPM
RHEL: Upgrade vFabric GemFire (vFabric Suite) from the VMware YUM Repository
Upgrade vFabric GemFire from a ZIP File
Performing a Rolling Upgrade
vFabric GemFire Version Compatibility Rules
Understanding vFabric GemFire Licenses
vFabric Suite and vFabric GemFire Licenses
vFabric GemFire License Options
Choosing a License Option Based on Topology
Checking License Quantity
How GemFire Manages Licenses
Installing and Configuring vFabric GemFire Licenses
Option 1: Install Serial Numbers in gemfire.properties
Option 2: Install Serial Numbers in vFabric Serial Number Files
vFabric Suite Only: Configure GemFire for vFabric License Server
Troubleshooting Issues with vFabric GemFire Licenses
Setting Up the Product Examples
vFabric GemFire Tutorial
Tutorial Introduction
vFabric 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
Management and Monitoring Example
JSON Example
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
Secure Client Example
Multiple Secure Client Example
Distributed Locking Example
Benchmark Examples
Peer-to-Peer Benchmark Example
Client Server Benchmark Example
Benchmark Parameters
Troubleshooting Checklist
Getting Started with Spring Data GemFire
About vFabric GemFire
About Spring Data GemFire
Overview of Application Development with Spring Data GemFire
Recommended Development Model
Spring Data GemFire Code Examples
Additional Resources
Configuring GemFire Components with the Spring Framework
System Requirements
Downloading vFabric GemFire and Spring Data GemFire Components
Configuring Caches
Configuring Regions
Configuring Cache Listeners
Configuring a Client/Server Architecture
Configuring Continuous Querying
Configuring Persistence
Configuring Transactions
Configuring Functions
Additional Spring Data GemFire Examples
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
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
Developing with vFabric GemFire
Region Data Storage and Distribution
Storage and Distribution Options
Region Types
Region Data Stores and Data Accessors
Partitioned Regions
Understanding Partitioning
Configuring Partitioned Regions
Configuring the Number of Buckets for a Partitioned Region
Custom-Partitioning and Co-locating Data
Understanding Custom Partitioning and Data Colocation
Custom-Partition Your Region Data
Co-locate 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
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
vFabric 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
vFabric 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 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 vFabric 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 Queries for Low Memory
Using Query Bind Parameters
Working with Indexes
Tips and Guidelines on Using Indexes
Creating, Listing and Removing Indexes
Creating Key Indexes
Creating Hash Indexes
Maintaining Indexes (Synchronously or Asynchronously) and Index Storage
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
Partitioned Region Query Restrictions
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
How Transactions Work
Transaction Coding Examples
Basic Suspend and Resume Transaction Example
Basic Transaction Example
Transaction Run in Multiple Regions
Transactional Function Example
Running a Transaction in vFabric GemFire
vFabric GemFire Transaction Semantics
Cache Design for Transactions
Working with vFabric GemFire Transactions
Transaction Events
Application Plug-Ins and Transactions
Transactions by Region Type
Client Transactions
Suspending and Resuming Transactions
Comparing Transactional and Non-Transactional Operations
Queries and Indexes with Transactions
Collections and Region.Entry Instances in Transactions
Using Eviction and Expiration Operations
Using JTA Transactions with vFabric GemFire
Configuring Database Connections Using JNDI
Example DataSource Configurations in cache.xml
Using Multiple Data Sources in a Transaction
Monitoring and Troubleshooting Transactions
Function Execution
Use Cases for Function Execution
How Function Execution Works
Executing a Function in vFabric GemFire
Managing vFabric GemFire
GemFire Management and Monitoring
Management and Monitoring Features
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
Browsing GemFire MBeans through JConsole
GemFire JMX MBean Notifications
Notification Federation
List of GemFire JMX MBean Notifications
MemberMXBean 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
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
Handling Missing Disk Stores
Managing How Data is Written to Disk
Back Up and Restore a Disk Store
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
Network Partitioning
How Network Partitioning Management Works
Failure Detection and Membership Views
Membership Coordinators, Lead Members and Member Weighting
Network Partitioning Scenarios
Configure vFabric GemFire to Handle Network Partitioning
Preventing Network Partitions
Security
vFabric GemFire Security Features
Security Information Specific to vFabric 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
Implementing SSL
SSL Sample Implementation
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 vFabric 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 Peer-to-Peer Handshake Timeouts
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
Categories of Log Messages
Naming, Searching, and Creating Log Files
Set Up Logging
Statistics
How Statistics Work
Transient Region and Entry Statistics
Application-Defined Statistics
Configuring and Using Statistics
GemFire Statistics List
Troubleshooting and System Recovery
Producing Data Files for System Recovery
Diagnosing System Problems
System Failure and Recovery
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
Understanding and Recovering from Network Outages
Deploying and Running vFabric GemFire
Deploying vFabric GemFire Configuration Files
Main Steps to Deploying Configuration Files
Default File Specifications and Search Locations
Changing the File Specifications
Deploying Configuration Files in JAR Files
Managing vFabric GemFire System Output Files
Starting Up and Shutting Down Your System
Introduction to Startup and Shutdown
Starting Up Your System
Shutting Down the System
Using the GemFire SHell (gfsh)
What You Can Do with gfsh
Starting gfsh
Basic Shell Features and Command-Line Usage
Tutorial: Performing Common Tasks with gfsh
Configuring the gfsh Environment
Useful gfsh Shell Variables
Quick Reference of gfsh Commands by Functional Area
Basic GemFire SHell 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
Region Commands
Server Commands
gfsh Command Help
alter
alter disk-store
alter runtime
backup disk-store
close
close durable-client
close durable-cq
compact
compact disk-store
compact offline-disk-store
connect
create
create index
create region
debug
deploy
describe
describe config
describe connection
describe disk-store
describe member
describe region
destroy
destroy function
destroy index
destroy region
disconnect
echo
encrypt
execute
exit
export
export config
export data
export logs
export stack-traces
gc
get
help
hint
history
import
list
list deployed
list disk-stores
list durable-cqs
list functions
list gateways
list indexes
list members
list regions
locate
netstat
pause gateway-sender
put
query
rebalance
remove
resume gateway-sender
revoke missing-disk-store
run
set variable
show
show dead-locks
show log
show metrics
show missing-disk-stores
show subscription-queue-size
shutdown
sleep
start
start data-browser
start gateway-receiver
start gateway-sender
start jconsole
start jvisualvm
start locator
start pulse
start server
start vsd
status
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
vFabric GemFire Locator Process
vFabric GemFire Servers
Using Member Groups
Deploying Application JARs to vFabric GemFire Members
Firewall Considerations
Firewalls and Connections
Firewalls and Ports
Locators, Gateway Receivers, and Ports
Tools and Modules
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 vFabric 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
Hibernate Cache Module
Why Use Gemfire with Hibernate?
How GemFire Works with Hibernate
Installing the Hibernate Cache Module
Setting Up the Hibernate Cache Module
Advanced Configuration (Hibernate Cache Module)
Changing vFabric GemFire Default Configuration (Hibernate Cache Module)
Using Hibernate Cache Module with HTTP Session Management Module
Gemcached
How Gemcached Works
Deploying and Configuring a Gemcached Server
Advantages of Gemcached over Memcached
DiskConverterPre65to65
Running DiskConverterPre65to65
GemFire Pulse
Pulse Quick Start (Embedded Mode)
Hosting Pulse on a Web Application Server
Configuring Pulse Authentication
Using Pulse Views
DataBrowser
DataBrowser System Requirements
Installation and Licensing
Running DataBrowser
Connecting DataBrowser to a vFabric GemFire System
Tour of the DataBrowser Interface
DataBrowser Preferences
How DataBrowser Works
Visual Statistics Display
VSD Overview
VSD System Requirements
Installing and Running VSD
Viewing Statistics in VSD
Reference
gemfire.properties and gfsecurity.properties (GemFire Properties)
Using Non-ASCII Strings in vFabric GemFire Property Files
cache.xml
cache.xml Quick Reference
<cache> Element Hierarchy
<cache> Element Reference
<cache-transaction-manager>
<transaction-listener>
<transaction-writer>
<gateway-hub>
<gateway>
<gateway-endpoint>
<gateway-listener>
<gateway-queue>
<gateway-sender>
<gateway-event-filter>
<gateway-transport-filter>
<gateway-receiver>
<gateway-transport-filter>
<gateway-conflict-resolver>
<async-event-queue>
<async-event-listener>
<cache-server>
<group>
<client-subscription>
<custom-load-probe>
<bridge-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>
<disk-write-attributes>
<asynchronous-writes>
<synchronous-writes>
<disk-dirs>
<partition-attributes>
<partition-resolver>
<partition-listener>
<fixed-partition-attributes>
<membership-attributes>
<required-role>
<subscription-attributes>
<cache-loader>
<cache-writer>
<cache-listener>
<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>
<string>
<declarable>
<value>
<string>
<declarable>
<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>
<disk-write-attributes>
<asynchronous-writes>
<synchronous-writes>
<disk-dirs>
<disk-dir>
<partition-attributes>
<partition-resolver>
<partition-listener>
<fixed-partition-attributes>
<membership-attributes>
<required-role>
<subscription-attributes>
<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>
Exceptions and System Failures
Memory Requirements for Cached Data
Glossary
vFabric GemFire Native Client User's Guide
Getting Started with vFabric GemFire Native Client
About the Native Client
Installing the Native Client
Installing on Linux and Solaris
Installing on Windows
Uninstalling the Native Client
Licensing
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
vFabric 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
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
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
vFabric 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
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
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: Compile ACE SSL or request precompiled ACE SSL DLL from VMware
Step 3: Create keystores
Step 4: Configure environment variables
Step 5: Configure SSL properties in gfcpp.properties and gemfire.properties
Step 6: 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++ Example
C# 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
vFabric SQLFire 1.1
Supported Configurations and System Requirements
Getting Started with vFabric SQLFire
vFabric SQLFire in 15 Minutes
Overview of vFabric SQLFire
Data Flow Diagram
GemFire, Apache Derby, and SQL Components
Understanding the SQLFire Distributed System
vFabric SQLFire Members
Servers, Peer Clients, and Server Groups
Discovery Mechanisms
Group Membership Service
Replicated Tables and Partitioned Tables
Parallel Execution of Data-Aware Stored Procedures
Cache Plug-ins for External Data Connections
Installing vFabric SQLFire
Installation Note for vFabric Suite Customers
RHEL Only: Install vFabric SQLFire from an RPM
Install vFabric SQLFire from a ZIP File
Activating vFabric SQLFire Licensing
Understand vFabric SQLFire License Options
Choose a License Option Based on Topology
How vFabric SQLFire Manages Licensing
Install and Configure vFabric SQLFire Licenses
Verify Your License and Check Your License Usage
Upgrading vFabric SQLFire
Before You Upgrade
RHEL: Upgrade vFabric SQLFire from RPM
Upgrade vFabric SQLFire from a ZIP File
Version Compatibility Rules
Connect to vFabric SQLFire with JDBC Tools
Tutorials
Main Steps
Create a SQLFire Cluster
Connect to the Cluster Using SQLF
Create Replicated Tables and Execute Queries
Implement a Partitioning Strategy
Persist Tables to Disk
Add Servers to the Cluster and Stop Servers
Perform Additional Tasks
vFabric SQLFire Features and Benefits
Managing Your Data in vFabric SQLFire
Designing vFabric SQLFire Databases
Design Principles of Scalable, Partition-Aware Databases
Identify Entity Groups and Partitioning Keys
Use Entity Groups Instead of "Sharding"
Replicate Code Tables
Dealing with Many-to-Many Relationships
Example: Adapting a Database Schema for SQLFire
Using Server Groups to Manage Data
Server Groups Overview
Adding Members to Server Groups
Assigning Tables to Server Groups
Partitioning Tables
How Table Partitioning Works
Understanding Where Data Is Stored
Failure and Redundancy
Creating Partitioned Tables
Partitioning Examples
Colocating Related Rows from Multiple Tables
Making a Partitioned Table Highly Available
Limiting the Memory Consumption on a Member
Rebalancing Partitioned Data on SQLFire Members
Managing Replication Failures
Replicating Tables
How SQLFire Replicates Tables
Deciding When to Use Replicated Tables
Creating Replicated Tables
Estimating Memory Requirements
Estimating SQLFire Overhead
Viewing Memory Usage in SYS.MEMORYANALYTICS
Enabling SYS.MEMORYANALYTICS
Understanding Table and Index Values
Displaying the Total Memory Footprint
Using Disk Stores to Persist Data
Overview of Disk Stores
What SQLFire Writes to the Disk Store
Disk Store State
Disk Store Directories
Disk Store Persistence Attributes
Disk Store File Names and Extensions
Disk Store Operation Logs
Factors Contributing to High Disk Throughput
Guidelines for Designing Disk Stores
Creating a Disk Store or Using the Default
Persist Table Data to a Disk Store
Optimizing Availability and Performance
Starting System with Disk Stores
Start a System with Disk Stores
Disk Store Management
Validate a Disk Store
Compacting Disk Store Log Files
Backing Up and Restoring Online Disk Stores
Backing Up and Restoring Offline Disk Stores
Handling Missing Disk Stores
Exporting and Importing Data with vFabric SQLFire
Using SQLF Commands to Export and Import Data
Export, Alter, and Import a Database Schema Using SQLF
Using Apache DdlUtils to Import Data
Overview of DdlUtils
Export, Alter, and Import a Database Schema Using DdlUtils
Example build.xml File
Exporting and Importing Data from Text Files
Using Table Functions to Import Data as a SQLFire Tables
Overview of SQLFire Table Functions
Preferred getXXX() methods for SQLFire Table Functions
Example Table Function
Developing Applications with SQLFire
Starting SQLFire Servers with the FabricServer Interface
Starting a Network Server
Developing Java Clients and Peers
Connect to a SQLFire Server with the Thin Client JDBC Driver
Start a SQLFire Peer with the Peer Client JDBC Driver
Configuring SQLFire as a JDBC Datasource
Using SQLFire with Hibernate
Storing and Loading JAR Files in SQLFire
Class Loading Overview
Create JAR Files for Your Application
Manage JAR Files in SQLFire
Code Your Applications
Alternate Methods for Managing JAR Files
Developing ADO.NET Client Applications
About the ADO.NET Driver
ADO.NET Driver Classes
Installing and Using the ADO.NET driver
Connecting to SQLFire with the ADO.NET Driver
Managing Connections
Executing SQL Commands
Working with Result Sets
Storing a Table
Storing Multiple Tables
Specifying Command Parameters with SQLFParameter
Updating Row Data
Adding Rows to a Table
Managing SQLFire Transactions
Performing Batch Updates
Generic Coding with the SQLFire ADO.NET Driver
Using SQLFire.NET Designer
Installing SQLFire.NET Designer
Connecting to a SQLFire Distributed System
Editing Tables
Understanding the Data Consistency Model
Data Consistency Concepts
No Ordering Guarantee for DML in Separate Threads
Updates on Any Row Are Atomic and Isolated
Atomicity for Bulk Updates
Using Distributed Transactions in Your Applications
Overview of SQLFire Distributed Transactions
Supported Transaction Isolation Levels
Transactions and DDL Statements
Handling Member Failures
Sequence of Events for a Distributed Transaction
SQLFire Transaction Design
Best Practices for Using Transactions
Transaction Functionality and Limitations
Using Data-Aware Stored Procedures
Configuring a Procedure
Configuring a Custom Result Processor
Invoking a Procedure
High Availability for SQLFire Procedures
Default Result Processor
Example JDBC Client
Using the Procedure Provider API
Procedure Parameters
Populating OUT and INOUT Parameters
Populating Result Sets
Using the <local> and <global> Escape Syntax with Nested Queries
Using the Custom Result Processor API
Implementing the ProcedureResultProcessor Interface
Example Result Processor: MergeSort
Procedure Implementation
Merge Sort Result Processor
Programming User-Defined Types
Using Result Sets and Cursors
Non-updatable, Forward-Only Result Sets
Updatable Result Sets
Requirements for Updatable Result Sets
Forward-Only Updatable Result Sets
Scrollable, Updatable Result Sets
Inserting Rows with Updatable Result Sets
Naming or Accessing the Name of a Cursor
Extended Example of an Updatable Result Set
Scrollable Insensitive Result Sets
Result Sets and Autocommit
Caching Data with vFabric SQLFire
SQLFire Cache Strategies
Using a RowLoader to Load Existing Data
How SQLFire Invokes a RowLoader
Implementing the RowLoader Interface
Using the JDBCRowLoader Example
Evicting Table Data from SQLFire
How LRU Eviction Works
Limitations of Eviction
Eviction in Partitioned Tables
Create a Table with Eviction Settings
Handling DML Events Synchronously
Writer and Listener Cache Plug-ins
Example Writer Implementation
Example Listener Implementation
Handling DML Events Asynchronously
How the AsyncEventListener Works
Implementation Requirements
Implementing an AsyncEventListener
Using DBSynchronizer to Apply DML to an RDBMS
How DBSynchronizer Works
Restrictions and Limitations
Configuring DBSynchronizer
Suppressing Event Callbacks for a vFabric SQLFire Connection
Deploying vFabric SQLFire
SQLFire Deployment Models
Embedded Peer-to-Peer Deployment
Client-Server Deployment
Multi-site Deployment
How Multi-site Systems Work
How Multi-site Event Distribution Works
Supported and Unsupported Topologies
Steps to Plan and Configure a Deployment
Configuring Discovery Mechanisms
Using Locators
Start and Stop Locators
Start SQLFire Peers and Servers Using Locators
Connect to a Distributed System Using Locators
Configure Multicast Discovery
Starting and Configuring SQLFire Servers
Start and Stop SQLFire Servers Using sqlf
Specify the Server Working Directory
Specify Client Connection Information
Define Server Groups
Execute SQL When You Start a Server
Using Additional Boot Properties
Configuring SQLFire Properties
Configuring Multi-site (WAN) Deployments
About Gateways
About High Availability for WAN Deployments
Limitations of Multi-Site Replication
Prerequisites for WAN Replication
Steps to Configure a Multi-site Deployment
Configure Locators for WAN Member Discovery
Create and Start Gateway Sender
Create Tables with Gateway Senders
Create a Gateway Receiver
Start and Stop Gateway Senders
Add and Remove Gateway Senders and Receivers
Configuring Authentication and Authorization
Configuring User Authentication
User Authentication and Member Ownership
Enable User Authentication
Creating Users for BUILTIN Authentication
Create System Users
Encrypt the Password of a System User
Change a System User Password
Create Distributed System Users
Configuring LDAP Directory Service
Configure SQLFire to Use Your LDAP Directory Service
Guest Access to Search for DNs
LDAP Restrictions and Performance Guidelines
JNDI-Specific Properties for External Directory Services
JMX and Authentication
User Names in Authentication and Authorization
User Names and Authorization Identifiers
Conversion of User Name to Authorization Identifier
SQLFire Member JVM Owner
Configuring User Authorization
Set the SQL Standard Authorization Mode
Set the Default Connection Access Mode
Set the Authorizations for Individual Users
Read-only and Full Access Permissions
User Authorization Exceptions
Set User Permissions for Database Objects in SQL Standard Authorization
Configuring Network Encryption and Authentication with SSL/TLS
Generate Key Pairs and Certificates
Start the Server with SSL/TLS
Run a Client with SSL/TLS
Managing and Monitoring vFabric SQLFire
Configuring and Using SQLFire Log Files
Log Message Format
Severity Levels
Using java.util.logging.Logger for Application Log Messages
Using Trace Flags for Advanced Debugging
Querying SQLFire System Tables and Indexes
Getting Information About SQLFire Members
Getting Information About User Tables
Evaluating Query Plans and Query Statistics
Capture a Query Plan for an Individual Statement
Capture Query Plans for All Statements
Example Query Plan Analysis
Query Plan Codes
Overriding Optimizer Choices
Evaluating System and Application Performance
Collecting System Statistics
Collecting Application Statistics
Using VSD to Analyze Statistics
Transaction Performance
Table Performance
SQL Statement Performance
Application Performance
Memory Usage
CPU Usage
Using Java Management Extensions (JMX)
Using a JMX Manager Node
Starting a JMX Manager
Configuring a JMX Manager
Connecting to a JMX Manager
Stopping a JMX Manager
Setting Up JMX Manager Authentication
Using a vFabric SQLFire JMX Agent
Example Configuration
Starting the JMX Agent
Agent Properties File and Log Files
Basic JMX Agent Properties
Distributed System Properties for JMX Agent
E-mail Notification Properties for the JMX Agent
Connecting to a JMX Agent
Stopping the JMX Agent
Configuring JMX Connectors and Adapters
RMIConnectorServer Properties
MX4J/Http Adaptor Properties
Configuring SSL Communication between the JMX Agent and Clients
vFabric SQLFire MBeans
Best Practices for Tuning Performance
Tune Application Logic
Reduce Distribution Overhead
Reduce Overhead of Eviction to Disk
Minimize Update Latency for Replicated Tables
Tune FabricServers
Tuning Disk I/O
Running SQLFire in Virtualized Environments
Detecting and Handling Network Segmentation ("Split Brain")
vFabric SQLFire Reference
Configuration Properties
JDBC API
Mapping java.sql.Types to SQL Types
java.sql.BatchUpdateException Class
java.sql.Connection Interface
java.sql.DatabaseMetaData Interface
java.sql.Driver Interface
java.sql.DriverManager.getConnection Method
java.sql.PreparedStatement Interface
java.sql.ResultSet Interface
java.sql.SavePoint Class
java.sql.SQLException Class
java.sql.Statement Class
javax.sql.XADataSource
sqlf Launcher Commands
sqlf backup
sqlf compact-all-disk-stores
sqlf compact-disk-store
sqlf encrypt-password
sqlf install-jar
sqlf list-missing-disk-stores
sqlf locator
sqlf Logging Support
sqlf merge-logs
sqlf remove-jar
sqlf replace-jar
sqlf revoke-missing-disk-store
sqlf server
sqlf show-disk-store-metadata
sqlf shut-down-all
sqlf stats
sqlf upgrade-disk-store
sqlf validate-disk-store
sqlf version
sqlf write-data-dtd-to-file
sqlf write-data-to-db
sqlf write-data-to-xml
sqlf write-schema-to-db
sqlf write-schema-to-sql
sqlf write-schema-to-xml
sqlf Interactive Commands
absolute
after last
async
autocommit
before first
close
commit
connect
connect client
connect peer
describe
disconnect
driver
elapsedtime
execute
exit
first
get scroll insensitive cursor
GetCurrentRowNumber
help
last
LocalizedDisplay
MaximumDisplayWidth
next
prepare
previous
protocol
relative
remove
rollback
run
set connection
show
wait for
SQLFire API
CredentialInitializer
UserAuthenticator
Procedure Implementation Interfaces
ProcedureExecutionContext
OutgoingResultSet
Procedure Result Processor Interfaces
ProcedureResultProcessor
ProcedureProcessorContext
IncomingResultSet
SQL Language Reference
Keywords and Identifiers
Standard SQL Identifiers
SQL Statements
ALTER TABLE
CALL
CREATE Statements
CREATE ALIAS
CREATE ASYNCEVENTLISTENER
CREATE DISKSTORE
CREATE FUNCTION
CREATE GATEWAYRECEIVER
CREATE GATEWAYSENDER
CREATE GLOBAL HASH INDEX
CREATE INDEX
CREATE PROCEDURE
CREATE SCHEMA
CREATE SYNONYM
CREATE TABLE
Column Definition
CONSTRAINT Clause
PARTITION BY Clause
SERVER GROUPS Clause
GATEWAYSENDER Clause
ASYNCEVENTLISTENER Clause
EVICTION BY Clause
EXPIRE Clause
PERSISTENT Clause
CREATE TRIGGER
CREATE TYPE
CREATE VIEW
DECLARE GLOBAL TEMPORARY TABLE
DELETE
EXPLAIN
DROP statements
DROP ALIAS
DROP ASYNCEVENTLISTENER
DROP DISKSTORE
DROP GATEWAYRECEIVER
DROP GATEWAYSENDER
DROP FUNCTION
DROP INDEX
DROP PROCEDURE
DROP SCHEMA
DROP TABLE
DROP TRIGGER
DROP TYPE
DROP VIEW
GRANT
INSERT
REVOKE
SELECT
SET ISOLATION
SET SCHEMA
TRUNCATE TABLE
UPDATE
SQL Queries
Query
ScalarSubquery
TableSubquery
SQL Clauses
FOR UPDATE Clause
FROM Clause
GROUP BY Clause
HAVING Clause
OFFSET and FETCH FIRST Clauses
ORDER BY Clause
WHERE Clause
SQL Expressions
SelectExpression
TableExpression
VALUES Expression
Expression Precedence
Boolean Expressions
Dynamic Parameters
Where Dynamic Parameters Are Allowed
JOIN Operations
INNER JOIN Operation
LEFT OUTER JOIN Operation
RIGHT OUTER JOIN Operation
Built-in Functions
Standard Built-in Functions
Aggregates (set functions)
ABS or ABSVAL function
ACOS function
ASIN function
ATAN function
ATAN2 function
AVG function
BIGINT function
CASE expressions
CAST function
CEIL or CEILING function
CHAR function
COALESCE function
Concatenation operator
COS function
COSH function
COT function
COUNT function
COUNT(*) function
CURRENT DATE function
CURRENT_DATE function
CURRENT ISOLATION function
CURRENT_ROLE function
CURRENT SCHEMA function
CURRENT TIME function
CURRENT_TIME function
CURRENT TIMESTAMP function
CURRENT_TIMESTAMP function
CURRENT_USER function
DATE function
DAY function
DEGREES function
DOUBLE function
EXP function
FLOOR function
HOUR function
INTEGER function
LCASE or LOWER function
LENGTH function
LN or LOG function
LOG10 function
LOCATE function
LTRIM function
MAX function
MIN function
MINUTE function
MOD function
MONTH function
NULLIF expressions
PI function
RADIANS function
RANDOM function
RAND function
RTRIM function
SECOND function
SESSION_USER function
SIGN function
SIN function
SINH function
SMALLINT function
SQRT function
SUBSTR function
SUM function
TAN function
TANH function
TIME function
TIMESTAMP function
TRIM function
UCASE or UPPER function
USER function
VARCHAR function
XMLEXISTS operator
XMLPARSE operator
XMLQUERY operator
XMLSERIALIZE operator
YEAR function
SQLFire Built-in Functions
DSID Function
GROUPS Function
GROUPSINTERSECT Function
GROUPSINTERSECTION Function
GROUPSUNION Function
Built-in System Procedures
Standard Built-in Procedures
SYSCS_UTIL.EMPTY_STATEMENT_CACHE
SYSCS_UTIL.EXPORT_QUERY
SYSCS_UTIL.EXPORT_TABLE
SYSCS_UTIL.IMPORT_DATA
SYSCS_UTIL.IMPORT_DATA_EX
SYSCS_UTIL.IMPORT_DATA_LOBS_FROM_EXTFILE system procedure
SYSCS_UTIL.IMPORT_TABLE
SYSCS_UTIL.IMPORT_TABLE_EX
SYSCS_UTIL.IMPORT_TABLE_LOBS_FROM_EXTFILE
SYSCS_UTIL.SET_EXPLAIN_CONNECTION
SYSCS_UTIL.SET_STATISTICS_TIMING
JAR Installation Procedures
SQLJ.INSTALL_JAR
SQLJ.REMOVE_JAR
SQLJ.REPLACE_JAR
Callback Configuration Procedures
SYS.ADD_LISTENER
SYS.ATTACH_LOADER
SYS.ATTACH_WRITER
SYS.REBALANCE_ALL_BUCKETS
SYS.REMOVE_LISTENER
SYS.REMOVE_LOADER
SYS.REMOVE_WRITER
SYS.START_ASYNC_EVENT_LISTENER
SYS.STOP_ASYNC_EVENT_LISTENER
Heap Eviction Configuration Procedures
SYS.SET_EVICTION_HEAP_PERCENTAGE
SYS.SET_EVICTION_HEAP_PERCENTAGE_SG
WAN Configuration Procedures
SYS.START_GATEWAYSENDER
SYS.STOP_GATEWAYSENDER
Data Types
SQL Standards Conformance
System Tables
ASYNCEVENTLISTENERS
GATEWAYRECEIVERS
GATEWAYSENDERS
INDEXES
JARS
MEMBERS
MEMORYANALYTICS
STATEMENTPLANS
SYSALIASES
SYSCHECKS
SYSCOLPERMS
SYSCOLUMNS
SYSCONGLOMERATES
SYSCONSTRAINTS
SYSDEPENDS
SYSDISKSTORES
SYSFILES
SYSFOREIGNKEYS
SYSKEYS
SYSROLES
SYSROUTINEPERMS
SYSSCHEMAS
SYSSTATEMENTS
SYSSTATISTICS
SYSTABLEPERMS
SYSTABLES
SYSTRIGGERS
SYSVIEWS
Exception Messages and SQL States
ADO.NET Driver Reference
SQLFire Data Types in ADO.NET
VMware.Data.SQLFire.BatchUpdateException
VMWare.Data.SQLFire.SQLFClientConnection
VMware.Data.SQLFire.SQLFCommand
VMware.Data.SQLFire.SQLFCommandBuilder
VMware.Data.SQLFire.SQLFType
VMware.Data.SQLFire.SQLFDataAdapter
VMware.Data.SQLFire.SQLFDataReader
VMware.Data.SQLFire.SQLFException
VMware.Data.SQLFire.SQLFParameter
VMware.Data.SQLFire.SQLFParameterCollection
VMware.Data.SQLFire.SQLFTransaction
vFabric SQLFire Limitations
SQL Language Limitations
Query Capabilities and Limitations
ADO.NET Driver Limitations
Troubleshooting Common Problems
vFabric SQLFire Glossary
Supported Configurations and System Requirements
Getting Started with vFabric SQLFire
vFabric SQLFire in 15 Minutes
Overview of vFabric SQLFire
Data Flow Diagram
GemFire, Apache Derby, and SQL Components
Understanding the SQLFire Distributed System
vFabric SQLFire Members
Servers, Peer Clients, and Server Groups
Discovery Mechanisms
Group Membership Service
Replicated Tables and Partitioned Tables
Parallel Execution of Data-Aware Stored Procedures
Cache Plug-ins for External Data Connections
Installing vFabric SQLFire
Installation Note for vFabric Suite Customers
RHEL Only: Install vFabric SQLFire from an RPM
Install vFabric SQLFire from a ZIP File
Activating vFabric SQLFire Licensing
Understand vFabric SQLFire License Options
Choose a License Option Based on Topology
How vFabric SQLFire Manages Licensing
Install and Configure vFabric SQLFire Licenses
Verify Your License and Check Your License Usage
Upgrading vFabric SQLFire
Before You Upgrade
RHEL: Upgrade vFabric SQLFire from RPM
Upgrade vFabric SQLFire from a ZIP File
Version Compatibility Rules
Connect to vFabric SQLFire with JDBC Tools
Tutorials
Main Steps
Create a SQLFire Cluster
Connect to the Cluster Using SQLF
Create Replicated Tables and Execute Queries
Implement a Partitioning Strategy
Persist Tables to Disk
Add Servers to the Cluster and Stop Servers
Perform Additional Tasks
vFabric SQLFire Features and Benefits
Managing Your Data in vFabric SQLFire
Designing vFabric SQLFire Databases
Design Principles of Scalable, Partition-Aware Databases
Identify Entity Groups and Partitioning Keys
Use Entity Groups Instead of "Sharding"
Replicate Code Tables
Dealing with Many-to-Many Relationships
Example: Adapting a Database Schema for SQLFire
Using Server Groups to Manage Data
Server Groups Overview
Adding Members to Server Groups
Assigning Tables to Server Groups
Partitioning Tables
How Table Partitioning Works
Understanding Where Data Is Stored
Failure and Redundancy
Creating Partitioned Tables
Partitioning Examples
Colocating Related Rows from Multiple Tables
Making a Partitioned Table Highly Available
Limiting the Memory Consumption on a Member
Rebalancing Partitioned Data on SQLFire Members
Managing Replication Failures
Replicating Tables
How SQLFire Replicates Tables
Deciding When to Use Replicated Tables
Creating Replicated Tables
Estimating Memory Requirements
Estimating SQLFire Overhead
Viewing Memory Usage in SYS.MEMORYANALYTICS
Enabling SYS.MEMORYANALYTICS
Understanding Table and Index Values
Displaying the Total Memory Footprint
Using Disk Stores to Persist Data
Overview of Disk Stores
What SQLFire Writes to the Disk Store
Disk Store State
Disk Store Directories
Disk Store Persistence Attributes
Disk Store File Names and Extensions
Disk Store Operation Logs
Factors Contributing to High Disk Throughput
Guidelines for Designing Disk Stores
Creating a Disk Store or Using the Default
Persist Table Data to a Disk Store
Optimizing Availability and Performance
Starting System with Disk Stores
Start a System with Disk Stores
Disk Store Management
Validate a Disk Store
Compacting Disk Store Log Files
Backing Up and Restoring Online Disk Stores
Backing Up and Restoring Offline Disk Stores
Handling Missing Disk Stores
Exporting and Importing Data with vFabric SQLFire
Using SQLF Commands to Export and Import Data
Export, Alter, and Import a Database Schema Using SQLF
Using Apache DdlUtils to Import Data
Overview of DdlUtils
Export, Alter, and Import a Database Schema Using DdlUtils
Example build.xml File
Exporting and Importing Data from Text Files
Using Table Functions to Import Data as a SQLFire Tables
Overview of SQLFire Table Functions
Preferred getXXX() methods for SQLFire Table Functions
Example Table Function
Developing Applications with SQLFire
Starting SQLFire Servers with the FabricServer Interface
Starting a Network Server
Developing Java Clients and Peers
Connect to a SQLFire Server with the Thin Client JDBC Driver
Start a SQLFire Peer with the Peer Client JDBC Driver
Configuring SQLFire as a JDBC Datasource
Using SQLFire with Hibernate
Storing and Loading JAR Files in SQLFire
Class Loading Overview
Create JAR Files for Your Application
Manage JAR Files in SQLFire
Code Your Applications
Alternate Methods for Managing JAR Files
Developing ADO.NET Client Applications
About the ADO.NET Driver
ADO.NET Driver Classes
Installing and Using the ADO.NET driver
Connecting to SQLFire with the ADO.NET Driver
Managing Connections
Executing SQL Commands
Working with Result Sets
Storing a Table
Storing Multiple Tables
Specifying Command Parameters with SQLFParameter
Updating Row Data
Adding Rows to a Table
Managing SQLFire Transactions
Performing Batch Updates
Generic Coding with the SQLFire ADO.NET Driver
Using SQLFire.NET Designer
Installing SQLFire.NET Designer
Connecting to a SQLFire Distributed System
Editing Tables
Understanding the Data Consistency Model
Data Consistency Concepts
No Ordering Guarantee for DML in Separate Threads
Updates on Any Row Are Atomic and Isolated
Atomicity for Bulk Updates
Using Distributed Transactions in Your Applications
Overview of SQLFire Distributed Transactions
Supported Transaction Isolation Levels
Transactions and DDL Statements
Handling Member Failures
Sequence of Events for a Distributed Transaction
SQLFire Transaction Design
Best Practices for Using Transactions
Transaction Functionality and Limitations
Using Data-Aware Stored Procedures
Configuring a Procedure
Configuring a Custom Result Processor
Invoking a Procedure
High Availability for SQLFire Procedures
Default Result Processor
Example JDBC Client
Using the Procedure Provider API
Procedure Parameters
Populating OUT and INOUT Parameters
Populating Result Sets
Using the <local> and <global> Escape Syntax with Nested Queries
Using the Custom Result Processor API
Implementing the ProcedureResultProcessor Interface
Example Result Processor: MergeSort
Procedure Implementation
Merge Sort Result Processor
Programming User-Defined Types
Using Result Sets and Cursors
Non-updatable, Forward-Only Result Sets
Updatable Result Sets
Requirements for Updatable Result Sets
Forward-Only Updatable Result Sets
Scrollable, Updatable Result Sets
Inserting Rows with Updatable Result Sets
Naming or Accessing the Name of a Cursor
Extended Example of an Updatable Result Set
Scrollable Insensitive Result Sets
Result Sets and Autocommit
Caching Data with vFabric SQLFire
SQLFire Cache Strategies
Using a RowLoader to Load Existing Data
How SQLFire Invokes a RowLoader
Implementing the RowLoader Interface
Using the JDBCRowLoader Example
Evicting Table Data from SQLFire
How LRU Eviction Works
Limitations of Eviction
Eviction in Partitioned Tables
Create a Table with Eviction Settings
Handling DML Events Synchronously
Writer and Listener Cache Plug-ins
Example Writer Implementation
Example Listener Implementation
Handling DML Events Asynchronously
How the AsyncEventListener Works
Implementation Requirements
Implementing an AsyncEventListener
Using DBSynchronizer to Apply DML to an RDBMS
How DBSynchronizer Works
Restrictions and Limitations
Configuring DBSynchronizer
Suppressing Event Callbacks for a vFabric SQLFire Connection
Deploying vFabric SQLFire
SQLFire Deployment Models
Embedded Peer-to-Peer Deployment
Client-Server Deployment
Multi-site Deployment
How Multi-site Systems Work
How Multi-site Event Distribution Works
Supported and Unsupported Topologies
Steps to Plan and Configure a Deployment
Configuring Discovery Mechanisms
Using Locators
Start and Stop Locators
Start SQLFire Peers and Servers Using Locators
Connect to a Distributed System Using Locators
Configure Multicast Discovery
Starting and Configuring SQLFire Servers
Start and Stop SQLFire Servers Using sqlf
Specify the Server Working Directory
Specify Client Connection Information
Define Server Groups
Execute SQL When You Start a Server
Using Additional Boot Properties
Configuring SQLFire Properties
Configuring Multi-site (WAN) Deployments
About Gateways
About High Availability for WAN Deployments
Limitations of Multi-Site Replication
Prerequisites for WAN Replication
Steps to Configure a Multi-site Deployment
Configure Locators for WAN Member Discovery
Create and Start Gateway Sender
Create Tables with Gateway Senders
Create a Gateway Receiver
Start and Stop Gateway Senders
Add and Remove Gateway Senders and Receivers
Configuring Authentication and Authorization
Configuring User Authentication
User Authentication and Member Ownership
Enable User Authentication
Creating Users for BUILTIN Authentication
Create System Users
Encrypt the Password of a System User
Change a System User Password
Create Distributed System Users
Configuring LDAP Directory Service
Configure SQLFire to Use Your LDAP Directory Service
Guest Access to Search for DNs
LDAP Restrictions and Performance Guidelines
JNDI-Specific Properties for External Directory Services
JMX and Authentication
User Names in Authentication and Authorization
User Names and Authorization Identifiers
Conversion of User Name to Authorization Identifier
SQLFire Member JVM Owner
Configuring User Authorization
Set the SQL Standard Authorization Mode
Set the Default Connection Access Mode
Set the Authorizations for Individual Users
Read-only and Full Access Permissions
User Authorization Exceptions
Set User Permissions for Database Objects in SQL Standard Authorization
Configuring Network Encryption and Authentication with SSL/TLS
Generate Key Pairs and Certificates
Start the Server with SSL/TLS
Run a Client with SSL/TLS
Managing and Monitoring vFabric SQLFire
Configuring and Using SQLFire Log Files
Log Message Format
Severity Levels
Using java.util.logging.Logger for Application Log Messages
Using Trace Flags for Advanced Debugging
Querying SQLFire System Tables and Indexes
Getting Information About SQLFire Members
Getting Information About User Tables
Evaluating Query Plans and Query Statistics
Capture a Query Plan for an Individual Statement
Capture Query Plans for All Statements
Example Query Plan Analysis
Query Plan Codes
Overriding Optimizer Choices
Evaluating System and Application Performance
Collecting System Statistics
Collecting Application Statistics
Using VSD to Analyze Statistics
Transaction Performance
Table Performance
SQL Statement Performance
Application Performance
Memory Usage
CPU Usage
Using Java Management Extensions (JMX)
Using a JMX Manager Node
Starting a JMX Manager
Configuring a JMX Manager
Connecting to a JMX Manager
Stopping a JMX Manager
Setting Up JMX Manager Authentication
Using a vFabric SQLFire JMX Agent
Example Configuration
Starting the JMX Agent
Agent Properties File and Log Files
Basic JMX Agent Properties
Distributed System Properties for JMX Agent
E-mail Notification Properties for the JMX Agent
Connecting to a JMX Agent
Stopping the JMX Agent
Configuring JMX Connectors and Adapters
RMIConnectorServer Properties
MX4J/Http Adaptor Properties
Configuring SSL Communication between the JMX Agent and Clients
vFabric SQLFire MBeans
Best Practices for Tuning Performance
Tune Application Logic
Reduce Distribution Overhead
Reduce Overhead of Eviction to Disk
Minimize Update Latency for Replicated Tables
Tune FabricServers
Tuning Disk I/O
Running SQLFire in Virtualized Environments
Detecting and Handling Network Segmentation ("Split Brain")
vFabric SQLFire Reference
Configuration Properties
JDBC API
Mapping java.sql.Types to SQL Types
java.sql.BatchUpdateException Class
java.sql.Connection Interface
java.sql.DatabaseMetaData Interface
java.sql.Driver Interface
java.sql.DriverManager.getConnection Method
java.sql.PreparedStatement Interface
java.sql.ResultSet Interface
java.sql.SavePoint Class
java.sql.SQLException Class
java.sql.Statement Class
javax.sql.XADataSource
sqlf Launcher Commands
sqlf backup
sqlf compact-all-disk-stores
sqlf compact-disk-store
sqlf encrypt-password
sqlf install-jar
sqlf list-missing-disk-stores
sqlf locator
sqlf Logging Support
sqlf merge-logs
sqlf remove-jar
sqlf replace-jar
sqlf revoke-missing-disk-store
sqlf server
sqlf show-disk-store-metadata
sqlf shut-down-all
sqlf stats
sqlf upgrade-disk-store
sqlf validate-disk-store
sqlf version
sqlf write-data-dtd-to-file
sqlf write-data-to-db
sqlf write-data-to-xml
sqlf write-schema-to-db
sqlf write-schema-to-sql
sqlf write-schema-to-xml
sqlf Interactive Commands
absolute
after last
async
autocommit
before first
close
commit
connect
connect client
connect peer
describe
disconnect
driver
elapsedtime
execute
exit
first
get scroll insensitive cursor
GetCurrentRowNumber
help
last
LocalizedDisplay
MaximumDisplayWidth
next
prepare
previous
protocol
relative
remove
rollback
run
set connection
show
wait for
SQLFire API
CredentialInitializer
UserAuthenticator
Procedure Implementation Interfaces
ProcedureExecutionContext
OutgoingResultSet
Procedure Result Processor Interfaces
ProcedureResultProcessor
ProcedureProcessorContext
IncomingResultSet
SQL Language Reference
Keywords and Identifiers
Standard SQL Identifiers
SQL Statements
ALTER TABLE
CALL
CREATE Statements
CREATE ALIAS
CREATE ASYNCEVENTLISTENER
CREATE DISKSTORE
CREATE FUNCTION
CREATE GATEWAYRECEIVER
CREATE GATEWAYSENDER
CREATE GLOBAL HASH INDEX
CREATE INDEX
CREATE PROCEDURE
CREATE SCHEMA
CREATE SYNONYM
CREATE TABLE
Column Definition
CONSTRAINT Clause
PARTITION BY Clause
SERVER GROUPS Clause
GATEWAYSENDER Clause
ASYNCEVENTLISTENER Clause
EVICTION BY Clause
EXPIRE Clause
PERSISTENT Clause
CREATE TRIGGER
CREATE TYPE
CREATE VIEW
DECLARE GLOBAL TEMPORARY TABLE
DELETE
EXPLAIN
DROP statements
DROP ALIAS
DROP ASYNCEVENTLISTENER
DROP DISKSTORE
DROP GATEWAYRECEIVER
DROP GATEWAYSENDER
DROP FUNCTION
DROP INDEX
DROP PROCEDURE
DROP SCHEMA
DROP TABLE
DROP TRIGGER
DROP TYPE
DROP VIEW
GRANT
INSERT
REVOKE
SELECT
SET ISOLATION
SET SCHEMA
TRUNCATE TABLE
UPDATE
SQL Queries
Query
ScalarSubquery
TableSubquery
SQL Clauses
FOR UPDATE Clause
FROM Clause
GROUP BY Clause
HAVING Clause
OFFSET and FETCH FIRST Clauses
ORDER BY Clause
WHERE Clause
SQL Expressions
SelectExpression
TableExpression
VALUES Expression
Expression Precedence
Boolean Expressions
Dynamic Parameters
Where Dynamic Parameters Are Allowed
JOIN Operations
INNER JOIN Operation
LEFT OUTER JOIN Operation
RIGHT OUTER JOIN Operation
Built-in Functions
Standard Built-in Functions
Aggregates (set functions)
ABS or ABSVAL function
ACOS function
ASIN function
ATAN function
ATAN2 function
AVG function
BIGINT function
CASE expressions
CAST function
CEIL or CEILING function
CHAR function
COALESCE function
Concatenation operator
COS function
COSH function
COT function
COUNT function
COUNT(*) function
CURRENT DATE function
CURRENT_DATE function
CURRENT ISOLATION function
CURRENT_ROLE function
CURRENT SCHEMA function
CURRENT TIME function
CURRENT_TIME function
CURRENT TIMESTAMP function
CURRENT_TIMESTAMP function
CURRENT_USER function
DATE function
DAY function
DEGREES function
DOUBLE function
EXP function
FLOOR function
HOUR function
INTEGER function
LCASE or LOWER function
LENGTH function
LN or LOG function
LOG10 function
LOCATE function
LTRIM function
MAX function
MIN function
MINUTE function
MOD function
MONTH function
NULLIF expressions
PI function
RADIANS function
RANDOM function
RAND function
RTRIM function
SECOND function
SESSION_USER function
SIGN function
SIN function
SINH function
SMALLINT function
SQRT function
SUBSTR function
SUM function
TAN function
TANH function
TIME function
TIMESTAMP function
TRIM function
UCASE or UPPER function
USER function
VARCHAR function
XMLEXISTS operator
XMLPARSE operator
XMLQUERY operator
XMLSERIALIZE operator
YEAR function
SQLFire Built-in Functions
DSID Function
GROUPS Function
GROUPSINTERSECT Function
GROUPSINTERSECTION Function
GROUPSUNION Function
Built-in System Procedures
Standard Built-in Procedures
SYSCS_UTIL.EMPTY_STATEMENT_CACHE
SYSCS_UTIL.EXPORT_QUERY
SYSCS_UTIL.EXPORT_TABLE
SYSCS_UTIL.IMPORT_DATA
SYSCS_UTIL.IMPORT_DATA_EX
SYSCS_UTIL.IMPORT_DATA_LOBS_FROM_EXTFILE system procedure
SYSCS_UTIL.IMPORT_TABLE
SYSCS_UTIL.IMPORT_TABLE_EX
SYSCS_UTIL.IMPORT_TABLE_LOBS_FROM_EXTFILE
SYSCS_UTIL.SET_EXPLAIN_CONNECTION
SYSCS_UTIL.SET_STATISTICS_TIMING
JAR Installation Procedures
SQLJ.INSTALL_JAR
SQLJ.REMOVE_JAR
SQLJ.REPLACE_JAR
Callback Configuration Procedures
SYS.ADD_LISTENER
SYS.ATTACH_LOADER
SYS.ATTACH_WRITER
SYS.REBALANCE_ALL_BUCKETS
SYS.REMOVE_LISTENER
SYS.REMOVE_LOADER
SYS.REMOVE_WRITER
SYS.START_ASYNC_EVENT_LISTENER
SYS.STOP_ASYNC_EVENT_LISTENER
Heap Eviction Configuration Procedures
SYS.SET_EVICTION_HEAP_PERCENTAGE
SYS.SET_EVICTION_HEAP_PERCENTAGE_SG
WAN Configuration Procedures
SYS.START_GATEWAYSENDER
SYS.STOP_GATEWAYSENDER
Data Types
SQL Standards Conformance
System Tables
ASYNCEVENTLISTENERS
GATEWAYRECEIVERS
GATEWAYSENDERS
INDEXES
JARS
MEMBERS
MEMORYANALYTICS
STATEMENTPLANS
SYSALIASES
SYSCHECKS
SYSCOLPERMS
SYSCOLUMNS
SYSCONGLOMERATES
SYSCONSTRAINTS
SYSDEPENDS
SYSDISKSTORES
SYSFILES
SYSFOREIGNKEYS
SYSKEYS
SYSROLES
SYSROUTINEPERMS
SYSSCHEMAS
SYSSTATEMENTS
SYSSTATISTICS
SYSTABLEPERMS
SYSTABLES
SYSTRIGGERS
SYSVIEWS
Exception Messages and SQL States
ADO.NET Driver Reference
SQLFire Data Types in ADO.NET
VMware.Data.SQLFire.BatchUpdateException
VMWare.Data.SQLFire.SQLFClientConnection
VMware.Data.SQLFire.SQLFCommand
VMware.Data.SQLFire.SQLFCommandBuilder
VMware.Data.SQLFire.SQLFType
VMware.Data.SQLFire.SQLFDataAdapter
VMware.Data.SQLFire.SQLFDataReader
VMware.Data.SQLFire.SQLFException
VMware.Data.SQLFire.SQLFParameter
VMware.Data.SQLFire.SQLFParameterCollection
VMware.Data.SQLFire.SQLFTransaction
vFabric SQLFire Limitations
SQL Language Limitations
Query Capabilities and Limitations
ADO.NET Driver Limitations
Troubleshooting Common Problems
vFabric SQLFire Glossary
vFabric RabbitMQ 3.0
Supported Configurations and System Requirements
Getting Started With vFabric RabbitMQ
About vFabric RabbitMQ
Main Components
vFabric RabbitMQ Server
vFabric RabbitMQ Plug-ins
vFabric RabbitMQ Client Libraries
What You Can Do with vFabric RabbitMQ
Main Features
How vFabric RabbitMQ Is Engineered for Modern Messaging
Installing vFabric RabbitMQ
Installation Note for vFabric Suite Customers
RHEL: Install vFabric RabbitMQ from an RPM
Install vFabric RabbitMQ from the VMware RPM Repository
Install vFabric RabbitMQ from a Downloaded RPM
RHEL: Start and Stop the RabbitMQ Server
RHEL: Install vFabric RabbitMQ Java Client Libraries from RPM
Windows: Install vFabric RabbitMQ Server
Windows: Start and Stop the RabbitMQ Server
Windows: Install vFabric RabbitMQ Client Libraries
Activate a vFabric RabbitMQ License
Upgrade vFabric RabbitMQ
Troubleshooting Installation Problems
Next Steps
Perform General Server Configuration Tasks
Implement SSL
Set Up Distributed Messaging and High Availability
Set Up and Work with vFabric RabbitMQ Clients
Using vFabric RabbitMQ
Server Documentation
Access Control
Default database access
SASL Authentication
Built-in mechanisms
Server configuration
Client configuration
Clustering Guide
Clustering transcript
Upgrading clusters
A cluster on a single machine
Firewalled nodes
Connecting to Clusters from Clients
Clustering and Network Partitions
Configuration
Customise RabbitMQ Environment
RabbitMQ Environment Variables
Configuration File
File Locations
Unix Default Locations
Windows Default Locations
Generic Unix Default Locations
Parameters
Distributed RabbitMQ brokers
Firehose Tracer
Highly Available Queues
Mirrored Queue Behaviour
Unsynchronised Slaves
Starting and Stopping Nodes
Configuring Mirroring
Flow Control
Per-Connection Flow Control
Memory-Based Flow Control
Disk-Based Flow Control
Memory Use
Manual Pages
Section 1 - General Commands
Section 5 - File formats
rabbitmqctl(1) manual page
Name
Synopsis
Description
Options
Commands
rabbitmq-plugins(1) manual page
Name
Synopsis
Description
Commands
rabbitmq-server(1) manual page
Name
Synopsis
Description
Environment
Options
See also
rabbitmq-service.bat manual page
Name
Synopsis
Description
Commands
Environment
rabbitmq-echopid.bat manual page
Name
Synopsis
Description
Options
rabbitmq-env.conf(5) manual page
Name
Description
See also
Reliability Guide
What Can Fail?
Connection Failures
At the Broker
At the Producer
At the Consumer
Distributed RabbitMQ
SSL Support
Keys, Certificates and CA Certificates
Enabling SSL Support in RabbitMQ
Levels of Trust
Configuring the .Net client
Configuring the Erlang client
SSL Troubleshooting
Understanding SSL logs
Troubleshooting
Windows Quirks
Plugins
Supported Plugins
Unsupported Plugins
Installing Additional Plugins
Plugins and Upgrades
Management Plugin
Installation
Getting started
Permissions
Configuration
Note on clustering
HTTP API
Proxy setup
Management Command Line Tool
Federation Plugin
What does it do?
Getting Started
Configuration Reference
Example topologies
Link Status Reporting
Old Federation Plugin
Differences Between Old and New Federation
What does it do?
Getting Started
Configuration
Declaring Federated Exchanges Over AMQP
Example Configuration
Example topologies
Link Status Reporting
Shovel plugin
What does it do?
Getting Started
Shovel status
Configuration
Example Configuration
RabbitMQ STOMP Adapter
LDAP Plugin
Basic configuration
Configuring authorisation
Authorisation query reference
Example configuration
Server Changelog
Client Documentation
Java Client API Guide
Protocol class overview
Connections and channels
Advanced Connection options
Using exchanges and queues
Publishing messages
Channel thread-safety
Receiving messages by subscription
Retrieving individual messages
Handling unroutable messages
Basic RPC
Shutdown Protocol
Bundled examples
AMQP Protocol Capture/Analysis Tool
Javadoc Documention
.NET Client Library User Guide
.NET Client API Documentation
AMQP URI Specification
Protocol Documentation
Compatibility and Conformance
Specification versions supported
Differences between versions
Interoperability
Deprecated classes
Classes from the AMQP specification, version 0-9-1
Methods from the AMQP specification, version 0-9-1
Rules from the AMQP specification, version 0-9-1
Rules from the AMQP specification, version 0-9-1 (PDF)
Rules from the AMQP specification, version 0-8
Interoperability
Interoperation with Qpid
Interoperation with OpenAMQ
RabbitMQ versions tested
AMQP 0-8 to 0-9-1
Protocol Extensions
Confirms (aka Publisher Acknowledgements)
Validated User-ID
Consumer Cancel Notification
Client and Server Capabilities
Negative Acknowledgements
Exchange to Exchange Bindings
Alternate Exchanges
Sender-selected Distribution
Time-To-Live Extensions
Per-Queue Message TTL
Per-Message TTL
Queue TTL
Dead Letter Exchanges
Undeprecated Features
Broker Semantics
Semantics of tx
Message ordering guarantees
AMQP 0-9-1 Quick Reference
basic
channel
confirm
exchange
queue
tx
AMQP 0-9-1 Complete Reference Guide
Protocol Information
Classes
connection
channel
exchange
queue
basic
tx
confirm
Domains
Constants
RabbitMQ Tutorials
AMQP 0-9-1 Model Explained
About This Guide
High-level Overview of AMQP 0-9-1 and the AMQP Model
Exchanges and Exchange Types
Queues
Bindings
Consumers
Message Attributes and Payload
Message Acknowledgements
AMQP 0-9-1 Methods
Connections
Channels
Virtual Hosts
AMQP is Extensible
AMQP 0-9-1 Clients Ecosystem
RabbitMQ Tutorial - "Hello World!"
RabbitMQ Tutorial - Work Queues
RabbitMQ Tutorial - Publish/Subscribe
RabbitMQ Tutorial - Routing
RabbitMQ Tutorial - Topics
RabbitMQ Tutorial - Remote procedure call (RPC)
Using the JMS Client for vFabric RabbitMQ
About JMS Client for vFabric RabbitMQ
Components of JMS Client for vFabric RabbitMQ
JMS and AMQP
Limitations
Installing and Configuring JMS Client for vFabric RabbitMQ
Install the JMS Client Software and the Topic Selector Plug-in
Download and Install JMS Client for vFabric RabbitMQ
Install the vFabric RabbitMQ Topic Selector Plug-in
Configure JMS Applications to Use JMS Client for vFabric RabbitMQ
Installing the JMS Client for RabbitMQ Libraries
Defining JMS Objects in JNDI
Configuring Logging for the JMS Client
What's Next?
vFabric RabbitMQ Implementation of JMS API
Connection Factory Interfaces
ConnectionFactory
QueueConnectionFactory
TopicConnectionFactory
XAQueueConnectionFactory
XATopicConnectionFactory
Server Session Interfaces
ServerSessionPool
ServerSession
Connection Interfaces
Connection
QueueConnection
TopicConnection
XAConnection
XAQueueConnection
XATopicConnection
Session Interfaces
Session
TopicSession
QueueSession
XAQueueSession
XASession
XATopicSession
Consumer and Producer Interfaces
ConnectionConsumer
MessageProducer
QueueSender
TopicPublisher
Message Interfaces
Message
BytesMessage
MapMessage
ObjectMessage
StreamMessage
TextMessage
Message Consumer Interfaces
MessageConsumer
QueueReceiver
TopicSubscriber
Destination Interfaces
Destination
Queue
TemporaryQueue
Topic
TemporaryTopic
QueueBrowser
Supported Configurations and System Requirements
Getting Started With vFabric RabbitMQ
About vFabric RabbitMQ
Main Components
vFabric RabbitMQ Server
vFabric RabbitMQ Plug-ins
vFabric RabbitMQ Client Libraries
What You Can Do with vFabric RabbitMQ
Main Features
How vFabric RabbitMQ Is Engineered for Modern Messaging
Installing vFabric RabbitMQ
Installation Note for vFabric Suite Customers
RHEL: Install vFabric RabbitMQ from an RPM
Install vFabric RabbitMQ from the VMware RPM Repository
Install vFabric RabbitMQ from a Downloaded RPM
RHEL: Start and Stop the RabbitMQ Server
RHEL: Install vFabric RabbitMQ Java Client Libraries from RPM
Windows: Install vFabric RabbitMQ Server
Windows: Start and Stop the RabbitMQ Server
Windows: Install vFabric RabbitMQ Client Libraries
Activate a vFabric RabbitMQ License
Upgrade vFabric RabbitMQ
Troubleshooting Installation Problems
Next Steps
Perform General Server Configuration Tasks
Implement SSL
Set Up Distributed Messaging and High Availability
Set Up and Work with vFabric RabbitMQ Clients
Using vFabric RabbitMQ
Server Documentation
Access Control
Default database access
SASL Authentication
Built-in mechanisms
Server configuration
Client configuration
Clustering Guide
Clustering transcript
Upgrading clusters
A cluster on a single machine
Firewalled nodes
Connecting to Clusters from Clients
Clustering and Network Partitions
Configuration
Customise RabbitMQ Environment
RabbitMQ Environment Variables
Configuration File
File Locations
Unix Default Locations
Windows Default Locations
Generic Unix Default Locations
Parameters
Distributed RabbitMQ brokers
Firehose Tracer
Highly Available Queues
Mirrored Queue Behaviour
Unsynchronised Slaves
Starting and Stopping Nodes
Configuring Mirroring
Flow Control
Per-Connection Flow Control
Memory-Based Flow Control
Disk-Based Flow Control
Memory Use
Manual Pages
Section 1 - General Commands
Section 5 - File formats
rabbitmqctl(1) manual page
Name
Synopsis
Description
Options
Commands
rabbitmq-plugins(1) manual page
Name
Synopsis
Description
Commands
rabbitmq-server(1) manual page
Name
Synopsis
Description
Environment
Options
See also
rabbitmq-service.bat manual page
Name
Synopsis
Description
Commands
Environment
rabbitmq-echopid.bat manual page
Name
Synopsis
Description
Options
rabbitmq-env.conf(5) manual page
Name
Description
See also
Reliability Guide
What Can Fail?
Connection Failures
At the Broker
At the Producer
At the Consumer
Distributed RabbitMQ
SSL Support
Keys, Certificates and CA Certificates
Enabling SSL Support in RabbitMQ
Levels of Trust
Configuring the .Net client
Configuring the Erlang client
SSL Troubleshooting
Understanding SSL logs
Troubleshooting
Windows Quirks
Plugins
Supported Plugins
Unsupported Plugins
Installing Additional Plugins
Plugins and Upgrades
Management Plugin
Installation
Getting started
Permissions
Configuration
Note on clustering
HTTP API
Proxy setup
Management Command Line Tool
Federation Plugin
What does it do?
Getting Started
Configuration Reference
Example topologies
Link Status Reporting
Old Federation Plugin
Differences Between Old and New Federation
What does it do?
Getting Started
Configuration
Declaring Federated Exchanges Over AMQP
Example Configuration
Example topologies
Link Status Reporting
Shovel plugin
What does it do?
Getting Started
Shovel status
Configuration
Example Configuration
RabbitMQ STOMP Adapter
LDAP Plugin
Basic configuration
Configuring authorisation
Authorisation query reference
Example configuration
Server Changelog
Client Documentation
Java Client API Guide
Protocol class overview
Connections and channels
Advanced Connection options
Using exchanges and queues
Publishing messages
Channel thread-safety
Receiving messages by subscription
Retrieving individual messages
Handling unroutable messages
Basic RPC
Shutdown Protocol
Bundled examples
AMQP Protocol Capture/Analysis Tool
Javadoc Documention
.NET Client Library User Guide
.NET Client API Documentation
AMQP URI Specification
Protocol Documentation
Compatibility and Conformance
Specification versions supported
Differences between versions
Interoperability
Deprecated classes
Classes from the AMQP specification, version 0-9-1
Methods from the AMQP specification, version 0-9-1
Rules from the AMQP specification, version 0-9-1
Rules from the AMQP specification, version 0-9-1 (PDF)
Rules from the AMQP specification, version 0-8
Interoperability
Interoperation with Qpid
Interoperation with OpenAMQ
RabbitMQ versions tested
AMQP 0-8 to 0-9-1
Protocol Extensions
Confirms (aka Publisher Acknowledgements)
Validated User-ID
Consumer Cancel Notification
Client and Server Capabilities
Negative Acknowledgements
Exchange to Exchange Bindings
Alternate Exchanges
Sender-selected Distribution
Time-To-Live Extensions
Per-Queue Message TTL
Per-Message TTL
Queue TTL
Dead Letter Exchanges
Undeprecated Features
Broker Semantics
Semantics of tx
Message ordering guarantees
AMQP 0-9-1 Quick Reference
basic
channel
confirm
exchange
queue
tx
AMQP 0-9-1 Complete Reference Guide
Protocol Information
Classes
connection
channel
exchange
queue
basic
tx
confirm
Domains
Constants
RabbitMQ Tutorials
AMQP 0-9-1 Model Explained
About This Guide
High-level Overview of AMQP 0-9-1 and the AMQP Model
Exchanges and Exchange Types
Queues
Bindings
Consumers
Message Attributes and Payload
Message Acknowledgements
AMQP 0-9-1 Methods
Connections
Channels
Virtual Hosts
AMQP is Extensible
AMQP 0-9-1 Clients Ecosystem
RabbitMQ Tutorial - "Hello World!"
RabbitMQ Tutorial - Work Queues
RabbitMQ Tutorial - Publish/Subscribe
RabbitMQ Tutorial - Routing
RabbitMQ Tutorial - Topics
RabbitMQ Tutorial - Remote procedure call (RPC)
Using the JMS Client for vFabric RabbitMQ
About JMS Client for vFabric RabbitMQ
Components of JMS Client for vFabric RabbitMQ
JMS and AMQP
Limitations
Installing and Configuring JMS Client for vFabric RabbitMQ
Install the JMS Client Software and the Topic Selector Plug-in
Download and Install JMS Client for vFabric RabbitMQ
Install the vFabric RabbitMQ Topic Selector Plug-in
Configure JMS Applications to Use JMS Client for vFabric RabbitMQ
Installing the JMS Client for RabbitMQ Libraries
Defining JMS Objects in JNDI
Configuring Logging for the JMS Client
What's Next?
vFabric RabbitMQ Implementation of JMS API
Connection Factory Interfaces
ConnectionFactory
QueueConnectionFactory
TopicConnectionFactory
XAQueueConnectionFactory
XATopicConnectionFactory
Server Session Interfaces
ServerSessionPool
ServerSession
Connection Interfaces
Connection
QueueConnection
TopicConnection
XAConnection
XAQueueConnection
XATopicConnection
Session Interfaces
Session
TopicSession
QueueSession
XAQueueSession
XASession
XATopicSession
Consumer and Producer Interfaces
ConnectionConsumer
MessageProducer
QueueSender
TopicPublisher
Message Interfaces
Message
BytesMessage
MapMessage
ObjectMessage
StreamMessage
TextMessage
Message Consumer Interfaces
MessageConsumer
QueueReceiver
TopicSubscriber
Destination Interfaces
Destination
Queue
TemporaryQueue
Topic
TemporaryTopic
QueueBrowser
vFabric Postgres 9.2
vFabric Postgres Documentation
vFabric Postgres Documentation
vFabric Hyperic 5.0
vFabric Hyperic Documentation
vFabric Hyperic Documentation
vFabric Application Director 5.0
vFabric Application Director Documentation
vFabric Application Director Documentation
PDF
PDF Product Documentation
PDF Product Documentation