This topic discusses using PDX serialization in VMware Tanzu GemFire.
Tanzu GemFire’s Portable Data eXchange (PDX) is a cross-language data format that can reduce the cost of distributing and serializing your objects. PDX stores data in named fields that you can access individually, to avoid the cost of deserializing the entire data object. PDX also allows you to mix versions of objects where you have added or removed fields.
Tanzu GemFire PDX Serialization Features
Tanzu GemFire PDX serialization offers several advantages in terms of functionality.
High Level Steps for Using PDX Serialization
To use PDX serialization, you can configure and use Tanzu GemFire’s reflection-based autoserializer, or you can program the serialization of your objects by using the PDX interfaces and classes.
Using Automatic Reflection-Based PDX Serialization
You can configure your cache to automatically serialize and deserialize domain objects without having to add any extra code to them.
Serializing Your Domain Object with a PdxSerializer
For a domain object that you cannot or do not want to modify, use the PdxSerializer
class to serialize and deserialize the object’s fields. You use one PdxSerializer
implementation for the entire cache, programming it for all of the domain objects that you handle in this way.
Implementing PdxSerializable in Your Domain Object
For a domain object with source that you can modify, implement the PdxSerializable
interface in the object and use its methods to serialize and deserialize the object’s fields.
Programming Your Application to Use PdxInstances
A PdxInstance
is a light-weight wrapper around PDX serialized bytes. It provides applications with run-time access to fields of a PDX serialized object.
Adding JSON Documents to the Tanzu GemFire Cache
The JSONFormatter
API allows you to put JSON formatted documents into regions and retrieve them later by storing the documents internally as PdxInstances.
Using PdxInstanceFactory to Create PdxInstances
You can use the PdxInstanceFactory
interface to create a PdxInstance
from raw data when the domain class is not available on the server.
Persisting PDX Metadata to Disk
Tanzu GemFire allows you to persist PDX metadata to disk and specify the disk store to use.
Using PDX Objects as Region Entry Keys
Using PDX objects as region entry keys is highly discouraged.