The calls are made using reflection. The call does not go to the JChannel for local caches.
If you want to find performance issues, I suggest you use a profiler.
OK, so no channel calls are involved, but reflection call on every
getter I call ? Why ?
Second- You are right about the profiling part - I will profile it too, I just compared simple pojo getters against aspectized pojo getter and the results were pretty surprising ....
All cache operations move through an interceptor stack that handles aspects like locking, transaction management, and interactions with cache loaders. Replication is just one of those aspects; if the cache is in LOCAL mode the other aspects still have to be properly handled.
An interceptor-based architecture involves an object that carries the invocation through the interceptor stack. In JBoss Cache this object is a MethodCall. Use of that particular class, with its roots in JGroups, is largely a result of JBoss Cache's historical roots. Using that class is a bit conceptually messy, but if we switched to some other class, it would have to perform the same functions MethodCall does.