ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From vkulichenko <valentin.kuliche...@gmail.com>
Subject Re: ClassNotFoundException with affinity run
Date Thu, 02 Jun 2016 06:44:32 GMT
Hi,

Peer class loading can be used for computations (like the closure that you
pass to affinityRun method), but not for the model classes that are stored
in cache. That's why the closure is successfully sent to the server node,
but fails on the localPeek - it tries to deserialize the value, but doesn't
have the class for it.

When you read the data on server side you should either explicitly deploy
the model classes by adding them to 'libs' folder (you already tried this),
or you can work with binary objects [1].

In the latter case the code should look like this:

BinaryObject bo = productCache.<String,
BinaryObject>withKeepBinary().localPeek(String.valueOf(key));
updateCacheEntry(columnEntry.getValue().getEdge(), bo);

updateCacheEntry(...) method also be modified to work with the binary
object. To modify the object use binary builder [2].

[1]
https://apacheignite.readme.io/docs/binary-marshaller#binaryobject-cache-api
[2]
https://apacheignite.readme.io/docs/binary-marshaller#modifying-binary-objects-using-binaryobjectbuilder

-Val



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/ClassNotFoundException-with-affinity-run-tp5359p5370.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Mime
View raw message