private void disposeRegisteredCacheLoaders() { for (CacheLoader cacheLoader : registeredCacheLoaders) { cacheLoader.dispose(); } }
private void initialiseRegisteredCacheLoaders() { for (CacheLoader cacheLoader : registeredCacheLoaders) { cacheLoader.init(); } }
private Object loadWithRegisteredLoaders(Object argument, Object key) throws CacheException { Object value = null; if (argument == null) { for (CacheLoader registeredCacheLoader : registeredCacheLoaders) { value = registeredCacheLoader.load(key); if (value != null) { break; } } } else { for (CacheLoader registeredCacheLoader : registeredCacheLoaders) { value = registeredCacheLoader.load(key, argument); if (value != null) { break; } } } return value; }
/** * Does the asynchronous loading. * * @param argument the loader argument * @param nonLoadedKeys the Set of keys that are already in the Cache * @return A map of loaded elements */ Map loadWithRegisteredLoaders(Object argument, Set<Object> nonLoadedKeys) { Map result = new HashMap(); for (CacheLoader registeredCacheLoader : registeredCacheLoaders) { if (nonLoadedKeys.isEmpty()) { break; } Map resultForThisCacheLoader = null; if (argument == null) { resultForThisCacheLoader = registeredCacheLoader.loadAll(nonLoadedKeys); } else { resultForThisCacheLoader = registeredCacheLoader.loadAll(nonLoadedKeys, argument); } if (resultForThisCacheLoader != null) { nonLoadedKeys.removeAll(resultForThisCacheLoader.keySet()); result.putAll(resultForThisCacheLoader); } } return result; }
/** * Tries to load the class specified otherwise defaults to null. * * @param factoryConfiguration * @param loader */ private static CacheLoader createCacheLoader( CacheConfiguration.CacheLoaderFactoryConfiguration factoryConfiguration, Ehcache cache, ClassLoader loader) { String className = null; CacheLoader cacheLoader = null; if (factoryConfiguration != null) { className = factoryConfiguration.getFullyQualifiedClassPath(); } if (className == null) { LOG.debug("CacheLoader factory not configured. Skipping..."); } else { CacheLoaderFactory factory = (CacheLoaderFactory) ClassLoaderUtil.createNewInstance(loader, className); Properties properties = PropertyUtil.parseProperties(factoryConfiguration.getProperties(), factoryConfiguration.getPropertySeparator()); cacheLoader = factory.createCacheLoader(cache, properties); } return cacheLoader; }
@Override public CacheLoader clone(final Ehcache cache) throws CloneNotSupportedException { return delegate.clone(cache); }
@Override public Status getStatus() { return delegate.getStatus(); }
@Override public String getName() { return delegate.getName(); }
Map<? extends Object, ? extends Object> values = loader.loadAll(keysToProcess);
private void disposeRegisteredCacheLoaders() { for (CacheLoader cacheLoader : registeredCacheLoaders) { cacheLoader.dispose(); } }
private void initialiseRegisteredCacheLoaders() { for (CacheLoader cacheLoader : registeredCacheLoaders) { cacheLoader.init(); } }
/** * Will attempt to load the value for a key, either using the passedin loader, or falling back to registered ones * @param key the key to load for * @param specificLoader the loader to use, can be null to fallback to Cache registered loaders * @param argument the argument to pass the loader * @return null if not present in the underlying SoR or if no loader available, otherwise the loaded object */ private Object loadValueUsingLoader(final Object key, final CacheLoader specificLoader, final Object argument) { Object value = null; if (specificLoader != null) { if (argument == null) { value = specificLoader.load(key); } else { value = specificLoader.load(key, argument); } } else if (!registeredCacheLoaders.isEmpty()) { value = loadWithRegisteredLoaders(argument, key); } return value; }
registerCacheLoader(registeredCacheLoader.clone(this));
Map<? extends Object, ? extends Object> values = loader.loadAll(keysToProcess);
private void disposeRegisteredCacheLoaders() { for (CacheLoader cacheLoader : registeredCacheLoaders) { cacheLoader.dispose(); } }
private void initialiseRegisteredCacheLoaders() { for (CacheLoader cacheLoader : registeredCacheLoaders) { cacheLoader.init(); } }
private void disposeRegisteredCacheLoaders() { for (CacheLoader cacheLoader : registeredCacheLoaders) { cacheLoader.dispose(); } }
private void initialiseRegisteredCacheLoaders() { for (CacheLoader cacheLoader : registeredCacheLoaders) { cacheLoader.init(); } }
@Override public void dispose() throws CacheException { delegate.dispose(); }
@Override public void init() { delegate.init(); }