[jira] [Created] (IGNITE-12468) ClassCastException on thinClient in Apache Ignite

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (IGNITE-12468) ClassCastException on thinClient in Apache Ignite

Anton Vinogradov (Jira)
LEE PYUNG BEOM created IGNITE-12468:
---------------------------------------

             Summary: ClassCastException on thinClient in Apache Ignite
                 Key: IGNITE-12468
                 URL: https://issues.apache.org/jira/browse/IGNITE-12468
             Project: Ignite
          Issue Type: Bug
          Components: clients
    Affects Versions: 2.6
            Reporter: LEE PYUNG BEOM


 
{code:java}
    ClientConfiguration cfg = new ClientConfiguration().setAddresses("127.0.0.1:10800");

    try (IgniteClient igniteClient = Ignition.startClient(cfg)) {

        System.out.println(">>> Thin client put-get example started.");

        final String CACHE_NAME = "put-get-example";

        ClientCache<Integer, Object> cache = igniteClient.getOrCreateCache(CACHE_NAME);

        Person p = new Person();

        //put
        HashMap<Integer, Person> hm = new HashMap<Integer, Person>();
        hm.put(1, p);
        cache.put(1, hm);

        //get
        HashMap<Integer, Person> map = (HashMap<Integer, Person>)cache.get(1);
        Person p2 = map.get(1);

        System.out.format(">>> Loaded [%s] from the cache.\n",p2);

    }
    catch (ClientException e) {
        System.err.println(e.getMessage());
        e.printStackTrace();
    }
    catch (Exception e) {
        System.err.format("Unexpected failure: %s\n", e);
        e.printStackTrace();
    }
{code}
 

I use the thin client of apache-ignite.

I Create a hashmap and put the Person class(org.apache.ignite.examples.model.Person) object into it.

And when I take it out of the hashmap, I get the following exceptions:

 
{code:java}
> java.lang.ClassCastException:
> org.apache.enite.internal.binary.BinaryObjectImpl cannot be cast to
> org.apache.engite.examples.model.Person.
{code}
An exception is given in the code below.

 
{code:java}
Person p2 = map.get(1);
{code}
 

However, there is no exception if I modify the code as follows:

 
{code:java}
BinaryObject bo = (BinaryObject) map.get(1);

Person p2 = bo.deserialize();
{code}
I don't think that's necessary. Is there another solution?

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)