ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vladimir Ozerov (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (IGNITE-3501) Step-by-step guidance on how to configure and use binary types across Java and .Net
Date Mon, 25 Jul 2016 07:56:21 GMT

     [ https://issues.apache.org/jira/browse/IGNITE-3501?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Vladimir Ozerov updated IGNITE-3501:
    Labels: .net  (was: )

> Step-by-step guidance on how to configure and use binary types across Java and .Net
> -----------------------------------------------------------------------------------
>                 Key: IGNITE-3501
>                 URL: https://issues.apache.org/jira/browse/IGNITE-3501
>             Project: Ignite
>          Issue Type: Improvement
>          Components: platforms
>    Affects Versions: 1.6
>            Reporter: Denis Magda
>            Assignee: Denis Magda
>            Priority: Critical
>              Labels: .net
>             Fix For: 1.7
> It's quite a common task and endeavor to work with objects, stored in Ignite caches,
in their deserialized form on Java and .Net sides. This requires special setup at the configuration
level. Presently we don't have a page that list this particular steps with examples. 
> The following can be used as a draft
> 1) Explicitly configure all your custom types on Java side using BinaryConfiguration.typeConfigurations
property [1] or BinaryConfiguration.classNames property [2].
> 2) Explicitly configure the same corresponding .Net types on .Net side using  PlatformDotNetBinaryConfiguration.types
property as it shown under XML tab on this page [3]. Remove BinaryConfiguration bean from
.Net XML configuration if you use it before. Set additional required properties to PlatformDotNetBinaryConfiguration
bean if BinaryConfiguration used any.
> 3) If you use custom keys then make sure that both "hashCode" and "equals" methods are
implemented properly on both Java and .Net ends.
> 4) On .Net side you should implement IBinarizable interface [4] or go with Ignite Reflective
Serialization [5] for your custom objects.
> 5) On Java side you can implement Binarizable interface as well or rely on reflective
serialization making sure that your objects don't implement Externalizable interface and don't
override readObject/writeObject methods [6].
> Please let me know if everything works fine on your side after applying the listed steps.
> Regards,
> Denis
> [1] https://apacheignite.readme.io/docs/binary-marshaller#configuring-binary-objects
> [2] https://ignite.apache.org/releases/1.6.0/javadoc/org/apache/ignite/configuration/BinaryConfiguration.html#setClassNames(java.util.Collection)
> [3] https://apacheignite-net.readme.io/docs/serialization#ibinarizable
> [4] https://apacheignite-net.readme.io/docs/serialization#ibinarizable
> [5] https://apacheignite-net.readme.io/docs/serialization#ignite-reflective-serialization
> [6] https://apacheignite.readme.io/docs/binary-marshaller#basic-concepts
> On .Net side the configuration must be provided for App.config, C# config and Spring
> On Java side the configuration must be provided for Java and Spring XML configs.

This message was sent by Atlassian JIRA

View raw message