KNL-1162 for a definition of CacheRefresher
The only place where the CacheRefresher is called when an entry is missing on get() is in the CacheEntry class. This is used by the MultiRefCache (MRC) in GenericMultiRefCacheImpl but NOT by the MemCache impl.
Hilariously, the MRCs cannot even be created with a CacheRefresher specified (as shown by the API).
MultiRefCache newMultiRefCache(String cacheName);
GenericMultiRefCache newGenericMultiRefCache(String cacheName);
Therefore, this functionality does not work in any circumstance which is possible through the Kernel API (and nothing appears to use it directly in kernel except for tests).
This is implemented in at least these:
And referenced (but not implemented) in these (mostly LB):
I'm not sure how long this has been the case but it definitely affects 2.9 and trunk.