Serializing Data with PDX Serialization
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. When you use PDX serialization with the C++ client API, you can register a
PdxSerializer for the entire cache, implement PDX serialization for each domain object or use automatic PDX serialization by running the
You can also set the object preference of the cache to the
PdxInstance type, which allows you to access fields of a PDX object without deserializing the entire object.
When using the C++ client API, you can opt to use PDX autoserialization. The command line tool
pdxautoserializer will automatically generate C++ code to PDX serialize the class you want to serialize.
Serialize Your Domain Objects with PdxSerializer and PdxWrapper
For domain objects that you cannot or do not want to modify, use the
PdxWrapperclasses to serialize and deserialize the object’s fields.
Serialize Using the PdxSerializable Class
Domain classes need to inherit the
PdxSerializableabstract class to serialize and de-serialize the object. When you write objects using PDX serialization, they are distributed to the server tier in PDX serialized form.
Using Automatic PDX Serialization
You can allow your C++ client applications to automatically PDX serialize and deserialize domain objects without having to add any extra code by using the
pdxautoserializercommand line tool.
Programming Your Application to Use PdxInstances
PdxInstanceis a lightweight wrapper around the raw bytes of the PDX serialized objects kept in the cache. It provides applications with run-time access to files of a PDX serialized object. GemFire provides the implementation of the
Configuring PDX to Ignore Unread Fields During Deserialization
setPdxIgnoreUnreadFieldsAPI to control whether PDX ignores fields that were unread during deserialization.
Using PdxInstanceFactory to Create PdxInstances
You can use the
PdxInstanceFactoryAPI to create a
PdxInstancefrom raw data when the domain class is not available on the server.
Using C++ Enum Type with PDX Serialization
Because there is no “object” base type in C++, enums cannot be directly passed as parameters to the
Using PDX Serialization with Delta Propagation
To use delta propagation with PDX serialization, you must implement the