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(...)