A server and a client, then client call: line_1: CacheNodeFilter rmtFilter = new CacheNodeFilter(serviceType, uuid); line_2: ignite.events().remoteListen(listenerDispatcher, rmtFilter, EventType.EVT_CACHE_OBJECT_EXPIRED);
I am quite sure all the server and client have the class CacheNodeFilter with same version. And CacheNodeFilter implements IgnitePredicate<CacheEvent> But in client it will throw: catch (ClassNotFoundException e) { throw new IgniteCheckedException("Failed to find class with given class loader for unmarshalling " + "(make sure same versions of all classes are available on all nodes or enable peer-class-loading) " + "[clsLdr=" + clsLdr + ", cls=" + e.getMessage() + "]", e); } It is weird that exception throw on line_2 but not line_1.If line_1 run successful,the class "CacheNodeFilter" must be loaded by classloader, So why line_2 still throw ClassNotFoundException? And the classloader is appclassloader. -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/