Ignite picks a serializer the following way:
* There is a non-null BinaryTypeConfiguration.Serializer => pick it
* There is a non-null BinaryConfiguration.DefaultSerializer => pick it
* User type implements IBinarizable => pick internal BinarizableSerializer,
which just delegates to WriteBinary/ReadBinary
* Pick BinaryReflectiveSerializer

To customize the serialization, you can either implement IBinarizable, OR
specify a custom IBinarySerializer.
It is basically the same thing, just a different place to put the code.
Notice that IBinarizable and IBinarySerializer are very similar.

If you have a custom IBinarySerializer specified, there is no point in
implementing IBinarizable, since it won't be called.

You have CustomBinaryReaderWriter, which implements IBinaryReader &
IBinaryWriter. This is where you have some misunderstanding.
Ignite does not allow custom IBinaryReader/IBinaryWriter implementations.
It is just inherently not possible.

Let me know what are you trying to achieve, and I will advise.

Pavel.


On Fri, Jun 24, 2016 at 9:04 AM, mrinalkamboj <[email protected]>
wrote:

> My code is based on the details on the following link:
>
> https://apacheignite-net.readme.io/docs/serialization
>
> Here the Address entity implements IBinarizable interface
>
> Can you please confirm that understanding of the  document is not correct,
> or I am missing some part
>
> I am just implementing the methods in the interfaces
>
> I do understand that Sql queries cannot be run on the plugged in
> Serializer,
> as it deals with the binary data, therefore I have to fetch all the data on
> the client, then run the remaining operations
>
>
>
> --
> View this message in context:
> http://apache-ignite-users.70518.x6.nabble.com/Plug-in-custom-binary-serializer-for-Ignite-Net-tp5836p5858.html
> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>

Reply via email to