[infinispan-dev] thoughts on CacheLoader concurrency

Mircea Markus mircea.markus at jboss.com
Mon May 24 08:41:45 EDT 2010


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


More information about the infinispan-dev mailing list