Right!  There is no special configuration required to use *Java
Serialization* with Apache Geode, regardless if SDG is in play or not.
Your application domain object just needs to implement java.io.Serializable.

However, if you decide to use Geode's *DataSerialization* framework
<http://geode.apache.org/docs/guide/11/developing/data_serialization/gemfire_data_serialization.html>
[1]
or even PDX
<http://geode.apache.org/docs/guide/11/developing/data_serialization/gemfire_pdx_serialization.html>
[2]
(and you should consider this), then SDG supports this too. For instance,
here is an example config
<https://github.com/spring-projects/spring-data-geode/blob/master/src/test/resources/org/springframework/data/gemfire/config/xml/cache-using-pdx-ns.xml#L18-L21>
[3]
of using SDG to configure PDX.  Here is a slightly more involved example
<https://github.com/spring-projects/spring-data-geode/blob/master/src/test/java/org/springframework/data/gemfire/function/ClientCacheFunctionExecutionWithPdxIntegrationTest.java>
[6]
that uses *Spring* JavaConfig and "custom", "composed" *PdxSerializers* for
the application domain object types (i.e. Person & Address).

And, if you combine Geode's PDX Serialization framework [2] with *Spring
Data's* "Mapping" infrastructure
<http://docs.spring.io/spring-data-gemfire/docs/current/reference/html/#mapping.pdx-serializer>
[4],
there is a special PdxSerializer in SDG called MappingPdxSerializer
<http://docs.spring.io/spring-data-gemfire/docs/current/api/org/springframework/data/gemfire/mapping/MappingPdxSerializer.html>
[5]
that uses the SD "*Mapping meta-data*" to serialize your application domain
object types to PDX.

Of *Java Serialization*, DataSerialization and PDX, it is recommended that
you use and prefer PDX as it offers the most flexibility and is more
efficient than *Java Serialization* (though it does not handle cycles; so
be careful there).  Of the 3, *DataSerialization* is the most efficient.

If either DataSerialization or PDX Serialization is configured, even if
your application domain object implements java.io.Serializable, then Geode
will prefer its own serialization mechanics over *Java Serialization*.

Refer to Geode's documentation
<http://geode.apache.org/docs/guide/11/developing/data_serialization/data_serialization_options.html>
[7]
on serialization for more details.

Hope this helps.

Regards,
John


[1]
http://geode.apache.org/docs/guide/11/developing/data_serialization/gemfire_data_serialization.html
[2]
http://geode.apache.org/docs/guide/11/developing/data_serialization/gemfire_pdx_serialization.html
[3]
https://github.com/spring-projects/spring-data-geode/blob/master/src/test/resources/org/springframework/data/gemfire/config/xml/cache-using-pdx-ns.xml#L18-L21
[4]
http://docs.spring.io/spring-data-gemfire/docs/current/reference/html/#mapping.pdx-serializer
[5]
http://docs.spring.io/spring-data-gemfire/docs/current/api/org/springframework/data/gemfire/mapping/MappingPdxSerializer.html
[6]
https://github.com/spring-projects/spring-data-geode/blob/master/src/test/java/org/springframework/data/gemfire/function/ClientCacheFunctionExecutionWithPdxIntegrationTest.java
[7]
http://geode.apache.org/docs/guide/11/developing/data_serialization/data_serialization_options.html


On Thu, Jun 29, 2017 at 4:20 PM, Kirk Lund <[email protected]> wrote:

> Make the classes for your domain objects implement java.io.Serializable
> and avoid specifying DataSerializable or DataSerializers or PDX. This will
> result in use of Java serialization when serializing your domain objects.
> It'll be slower though.
>
> On Thu, Jun 29, 2017 at 3:42 PM, Amit Pandey <[email protected]>
> wrote:
>
>> Hi Guys,
>>
>> Whats the config for using Java Serialization in Spring Data Geode ?
>>
>> regards
>>
>
>


-- 
-John
john.blum10101 (skype)

Reply via email to