Hi,
AbstractCacheLoader.int looks like this:
@Override
public void init(CacheLoaderConfig config, Cache<?, ?> cache, Marshaller m)
throws CacheLoaderException {
this.marshaller = m;
if (config == null) throw new IllegalStateException("Null config!!!");
this.cache = cache;
}
This sets the non-volatile fields marshaller and cache.
AbstractCacheLoader.int is called
by the thread that starts the CacheManager which is different from e.g. expiration thread
or other application threads. Shouldn't we safely publish these fields by making them
volatile?
Cheers,
Mircea