Nick, Have you tried implementing delegating classloader and set it using IgniteConfiguration.setClassLoader() ?
This should solve your problem without any API changes on Ignite's side. 2017-04-25 22:42 GMT+03:00 npordash <nickpord...@gmail.com>: > Hi Denis, Val, > > Please refer to my initial inquiry on the user forum for full context as I > think that was lost while cross-posting to here: > http://apache-ignite-users.70518.x6.nabble.com/BinaryObjectImpl- > deserializeValue-with-specific-ClassLoader-td12055.html > > The setting in IgniteConfiguration does not help in this use-case because > Ignite is started before user-code is dynamically loaded and ran. I also > can't set it after it has been started because Ignite is a shared resource > in the JVM and there would be multiple code paths trying to access it that > resolved from different classloaders. > > I think the existing behavior is inconsistent and surprising to the user, > but I do think this was just an oversight as not a lot of folks in general > try to dynamically load and run code at runtime. Within the same JVM I can > write objects to a cache for classes that Ignite can't resolve from it's > own > classpath (because it doesn't need to for writes), but if I try to read > them > back from the cache (even in the same JVM) I get a ClassNotFoundException. > > -Nick > > > > -- > View this message in context: http://apache-ignite- > developers.2346864.n4.nabble.com/Re-BinaryObjectImpl- > deserializeValue-with-specific-ClassLoader-tp17126p17221.html > Sent from the Apache Ignite Developers mailing list archive at Nabble.com. > -- Best regards, Alexei Scherbakov