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
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/