Чтобы использовать BlockingCache в качестве декоратора по умолчанию для вашего кэша через ehcache.xml, сначала вы должны реализовать собственный CacheDecoratorFactory, скажем, DefaultCacheDecoratorFactory:
public class DefaultCacheDecoratorFactory extends CacheDecoratorFactory {
@Override
public Ehcache createDecoratedEhcache(Ehcache cache, Properties properties) {
return new BlockingCache(cache);
}
@Override
public Ehcache createDefaultDecoratedEhcache(Ehcache cache, Properties properties) {
return new BlockingCache(cache);
}
}
затем настройте его как часть определения вашего кэша, например:
<cache name="CACHE_NAME" more values here.../>
<cacheDecoratorFactory class="whatsoever.DefaultCacheDecoratorFactory"/>
</cache>
И использование cacheManager.getEhCache () для доступа к кешу, отличному от cacheManager.getCache (), потому что он возвращает только ноль для вашего оформленного кеша.