First,I can't run the 'Modifying Binary Objects' example in section Binary
Marshaller.
I must copy the jar contain the Person Class to the libs fold belong the
Server node.
But that is against Binary Marshaller's advantages.In the Doc,it said I
don't need to copy key and value classes everywhere.Then I try to turn
 on PeerClassLoadingEnabled,It works.But When I change some code and
restart the client,the server side don't refresh.Do I misunderstand
something in the Doc?

I have another question about generics.I find out that withKeepBinary
return
<K1, V1>IgniteCache<java.lang.Object, java.lang.Object>,
so I can't write

IgniteCache<Integer, Person> cache = ignite.getOrCreateCache(cacheCfg);

cache.withKeepBinary().invoke(i,(entry, arguments)-> {

    BinaryObjectBuilder bldr = entry.getValue().toBuilder();//can't compile
    bldr.setField("name", "name");
    entry.setValue(bldr.build());
    return null;
});

entry.getValue() lost its type!

I must code this way:

IgniteCache<Integer, Person> cache = ignite.getOrCreateCache(cacheCfg);
IgniteCache<Integer, BinaryObject> binaryCache = cache.withKeepBinary();

binaryCache.invoke(...)

Reply via email to