@Test public void testAsynchronousLoadAll() throws InterruptedException, ExecutionException { CountingCacheLoader countingCacheLoader = new CountingCacheLoader(); Cache cache = manager.getCache("sampleCache1"); cache.registerCacheLoader(countingCacheLoader); ExecutorService executorService = cache.getExecutorService(); List keys = new ArrayList(); for (int i = 0; i < 1000; i++) { keys.add(new Integer(i)); } Future future = cache.asynchronousLoadAll(keys, null); assertFalse(future.isDone()); Object object = future.get(); assertTrue(future.isDone()); assertNull(object); assertFalse(executorService.isShutdown()); assertEquals(1000, cache.getSize()); assertEquals(1000, countingCacheLoader.getLoadAllCounter()); }
Future asynchronousLoadAll(final Collection keys, final Object argument) { return getExecutorService().submit(new Runnable() { public void run() { try { List<Object> nonLoadedKeys = new ArrayList<Object>(keys.size()); for (Object key : keys) { if (!isKeyInCache(key)) { nonLoadedKeys.add(key); } } Map map = null; if (argument == null) { for (CacheLoader registeredCacheLoader : registeredCacheLoaders) { map = registeredCacheLoader.loadAll(nonLoadedKeys); if (map != null) { break; } } } else { for (CacheLoader registeredCacheLoader : registeredCacheLoaders) { map = registeredCacheLoader.loadAll(nonLoadedKeys, argument); if (map != null) { break; } } } if (map != null) { for (Object key : map.keySet()) { put(new Element(key, map.get(key))); } } } catch (Throwable e) { if (LOG.isLoggable(Level.FINE)) { LOG.log(Level.FINE, "Problem during load. Load will not be completed. Cause was " + e.getCause(), e); } } } }); }
Cache implements Ehcache { Future asynchronousLoadAll(final Collection keys, final Object argument) { return getExecutorService().submit(new Runnable() { public void run() { try { List<Object> nonLoadedKeys = new ArrayList<Object>(keys.size()); for (Object key : keys) { if (!isKeyInCache(key)) { nonLoadedKeys.add(key); } } Map map = null; if (argument == null) { for (CacheLoader registeredCacheLoader : registeredCacheLoaders) { map = registeredCacheLoader.loadAll(nonLoadedKeys); if (map != null) { break; } } } else { for (CacheLoader registeredCacheLoader : registeredCacheLoaders) { map = registeredCacheLoader.loadAll(nonLoadedKeys, argument); if (map != null) { break; } } } if (map != null) { for (Object key : map.keySet()) { put(new Element(key, map.get(key))); } } } catch (Throwable e) { if (LOG.isLoggable(Level.FINE)) { LOG.log(Level.FINE, "Problem during load. Load will not be completed. Cause was " + e.getCause(), e); } } } }); } }
Cache implements Ehcache { Future asynchronousLoadAll(final Collection keys, final Object argument) { return getExecutorService().submit(new Runnable() { public void run() { try { List<Object> nonLoadedKeys = new ArrayList<Object>(keys.size()); for (Object key : keys) { if (!isKeyInCache(key)) { nonLoadedKeys.add(key); } } Map map = null; if (argument == null) { for (CacheLoader registeredCacheLoader : registeredCacheLoaders) { map = registeredCacheLoader.loadAll(nonLoadedKeys); if (map != null) { break; } } } else { for (CacheLoader registeredCacheLoader : registeredCacheLoaders) { map = registeredCacheLoader.loadAll(nonLoadedKeys, argument); if (map != null) { break; } } } if (map != null) { for (Object key : map.keySet()) { put(new Element(key, map.get(key))); } } } catch (Throwable e) { if (LOG.isLoggable(Level.FINE)) { LOG.log(Level.FINE, "Problem during load. Load will not be completed. Cause was " + e.getCause(), e); } } } }); } Cache(String name, int maxElementsInMemory, boolean overflowToDisk,
                 boolean eternal, long timeToLiveSeconds, long timeToIdleSeconds);  Cache(String name,
                 int maxElementsInMemory,
                 boolean overflowToDisk,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds);  Cache(String name,
                 int maxElementsInMemory,
                 MemoryStoreEvictionPolicy memoryStoreEvictionPolicy,
                 boolean overflowToDisk,
                 String diskStorePath,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds,
                 RegisteredEventListeners registeredEventListeners);  Cache(String name,
                 int maxElementsInMemory,
                 MemoryStoreEvictionPolicy memoryStoreEvictionPolicy,
                 boolean overflowToDisk,
                 String diskStorePath,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds,
                 RegisteredEventListeners registeredEventListeners,
                 BootstrapCacheLoader bootstrapCacheLoader);  Cache(String name,
                 int maxElementsInMemory,
                 MemoryStoreEvictionPolicy memoryStoreEvictionPolicy,
                 boolean overflowToDisk,
                 String diskStorePath,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds,
                 RegisteredEventListeners registeredEventListeners,
                 BootstrapCacheLoader bootstrapCacheLoader,
                 int maxElementsOnDisk);  Cache(String name,
                 int maxElementsInMemory,
                 MemoryStoreEvictionPolicy memoryStoreEvictionPolicy,
                 boolean overflowToDisk,
                 String diskStorePath,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds,
                 RegisteredEventListeners registeredEventListeners,
                 BootstrapCacheLoader bootstrapCacheLoader,
                 int maxElementsOnDisk,
                 int diskSpoolBufferSizeMB);  Cache(String name,
                 int maxElementsInMemory,
                 MemoryStoreEvictionPolicy memoryStoreEvictionPolicy,
                 boolean overflowToDisk,
                 String diskStorePath,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds,
                 RegisteredEventListeners registeredEventListeners,
                 BootstrapCacheLoader bootstrapCacheLoader,
                 int maxElementsOnDisk,
                 int diskSpoolBufferSizeMB,
                 boolean clearOnFlush); }
Cache implements Ehcache { Future asynchronousLoadAll(final Collection keys, final Object argument) { return getExecutorService().submit(new Runnable() { public void run() { try { List<Object> nonLoadedKeys = new ArrayList<Object>(keys.size()); for (Object key : keys) { if (!isKeyInCache(key)) { nonLoadedKeys.add(key); } } Map map = null; if (argument == null) { for (CacheLoader registeredCacheLoader : registeredCacheLoaders) { map = registeredCacheLoader.loadAll(nonLoadedKeys); if (map != null) { break; } } } else { for (CacheLoader registeredCacheLoader : registeredCacheLoaders) { map = registeredCacheLoader.loadAll(nonLoadedKeys, argument); if (map != null) { break; } } } if (map != null) { for (Object key : map.keySet()) { put(new Element(key, map.get(key))); } } } catch (Throwable e) { if (LOG.isLoggable(Level.FINE)) { LOG.log(Level.FINE, "Problem during load. Load will not be completed. Cause was " + e.getCause(), e); } } } }); } Cache(String name, int maxElementsInMemory, boolean overflowToDisk,
                 boolean eternal, long timeToLiveSeconds, long timeToIdleSeconds);  Cache(String name,
                 int maxElementsInMemory,
                 boolean overflowToDisk,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds);  Cache(String name,
                 int maxElementsInMemory,
                 MemoryStoreEvictionPolicy memoryStoreEvictionPolicy,
                 boolean overflowToDisk,
                 String diskStorePath,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds,
                 RegisteredEventListeners registeredEventListeners);  Cache(String name,
                 int maxElementsInMemory,
                 MemoryStoreEvictionPolicy memoryStoreEvictionPolicy,
                 boolean overflowToDisk,
                 String diskStorePath,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds,
                 RegisteredEventListeners registeredEventListeners,
                 BootstrapCacheLoader bootstrapCacheLoader);  Cache(String name,
                 int maxElementsInMemory,
                 MemoryStoreEvictionPolicy memoryStoreEvictionPolicy,
                 boolean overflowToDisk,
                 String diskStorePath,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds,
                 RegisteredEventListeners registeredEventListeners,
                 BootstrapCacheLoader bootstrapCacheLoader,
                 int maxElementsOnDisk);  Cache(String name,
                 int maxElementsInMemory,
                 MemoryStoreEvictionPolicy memoryStoreEvictionPolicy,
                 boolean overflowToDisk,
                 String diskStorePath,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds,
                 RegisteredEventListeners registeredEventListeners,
                 BootstrapCacheLoader bootstrapCacheLoader,
                 int maxElementsOnDisk,
                 int diskSpoolBufferSizeMB);  Cache(String name,
                 int maxElementsInMemory,
                 MemoryStoreEvictionPolicy memoryStoreEvictionPolicy,
                 boolean overflowToDisk,
                 String diskStorePath,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds,
                 RegisteredEventListeners registeredEventListeners,
                 BootstrapCacheLoader bootstrapCacheLoader,
                 int maxElementsOnDisk,
                 int diskSpoolBufferSizeMB,
                 boolean clearOnFlush); void initialise(); void bootstrap(); final void put(Element element); final void put(Element element, boolean doNotNotifyCacheReplicators); final void putQuiet(Element element); final Element get(Serializable key); final Element get(Object key); Element getWithLoader(Object key, CacheLoader loader, Object loaderArgument); void load(final Object key); Map getAllWithLoader(Collection keys, Object loaderArgument); void loadAll(final Collection keys, final Object argument); final Element getQuiet(Serializable key); final Element getQuiet(Object key); final List getKeys(); final List getKeysWithExpiryCheck(); final List getKeysNoDuplicateCheck(); final boolean remove(Serializable key); final boolean remove(Object key); final boolean remove(Serializable key, boolean doNotNotifyCacheReplicators); final boolean remove(Object key, boolean doNotNotifyCacheReplicators); final boolean removeQuiet(Serializable key); final boolean removeQuiet(Object key); void removeAll(); void removeAll(boolean doNotNotifyCacheReplicators); synchronized void dispose(); CacheConfiguration getCacheConfiguration(); final synchronized void flush(); final int getSize(); final long calculateInMemorySize(); final long getMemoryStoreSize(); final int getDiskStoreSize(); final Status getStatus(); final String getName(); final void setName(String name); final String toString(); final boolean isExpired(Element element); final Object clone(); final RegisteredEventListeners getCacheEventNotificationService(); final boolean isElementInMemory(Serializable key); final boolean isElementInMemory(Object key); final boolean isElementOnDisk(Serializable key); final boolean isElementOnDisk(Object key); final String getGuid(); final CacheManager getCacheManager(); void clearStatistics(); int getStatisticsAccuracy(); void setStatisticsAccuracy(int statisticsAccuracy); void evictExpiredElements(); boolean isKeyInCache(Object key); boolean isValueInCache(Object value); Statistics getStatistics(); void setCacheManager(CacheManager cacheManager); BootstrapCacheLoader getBootstrapCacheLoader(); void setBootstrapCacheLoader(BootstrapCacheLoader bootstrapCacheLoader); void setDiskStorePath(String diskStorePath); boolean equals(Object object); int hashCode(); void registerCacheExtension(CacheExtension cacheExtension); List<CacheExtension> getRegisteredCacheExtensions(); void unregisterCacheExtension(CacheExtension cacheExtension); float getAverageGetTime(); void setCacheExceptionHandler(CacheExceptionHandler cacheExceptionHandler); CacheExceptionHandler getCacheExceptionHandler(); void registerCacheLoader(CacheLoader cacheLoader); void unregisterCacheLoader(CacheLoader cacheLoader); List<CacheLoader> getRegisteredCacheLoaders(); boolean isDisabled(); void setDisabled(boolean disabled); Policy getMemoryStoreEvictionPolicy(); void setMemoryStoreEvictionPolicy(Policy policy); }
Cache implements Ehcache { Future asynchronousLoadAll(final Collection keys, final Object argument) { return getExecutorService().submit(new Runnable() { public void run() { try { List<Object> nonLoadedKeys = new ArrayList<Object>(keys.size()); for (Object key : keys) { if (!isKeyInCache(key)) { nonLoadedKeys.add(key); } } Map map = null; if (argument == null) { for (CacheLoader registeredCacheLoader : registeredCacheLoaders) { map = registeredCacheLoader.loadAll(nonLoadedKeys); if (map != null) { break; } } } else { for (CacheLoader registeredCacheLoader : registeredCacheLoaders) { map = registeredCacheLoader.loadAll(nonLoadedKeys, argument); if (map != null) { break; } } } if (map != null) { for (Object key : map.keySet()) { put(new Element(key, map.get(key))); } } } catch (Throwable e) { if (LOG.isLoggable(Level.FINE)) { LOG.log(Level.FINE, "Problem during load. Load will not be completed. Cause was " + e.getCause(), e); } } } }); } Cache(String name, int maxElementsInMemory, boolean overflowToDisk,
                 boolean eternal, long timeToLiveSeconds, long timeToIdleSeconds);  Cache(String name,
                 int maxElementsInMemory,
                 boolean overflowToDisk,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds);  Cache(String name,
                 int maxElementsInMemory,
                 MemoryStoreEvictionPolicy memoryStoreEvictionPolicy,
                 boolean overflowToDisk,
                 String diskStorePath,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds,
                 RegisteredEventListeners registeredEventListeners);  Cache(String name,
                 int maxElementsInMemory,
                 MemoryStoreEvictionPolicy memoryStoreEvictionPolicy,
                 boolean overflowToDisk,
                 String diskStorePath,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds,
                 RegisteredEventListeners registeredEventListeners,
                 BootstrapCacheLoader bootstrapCacheLoader);  Cache(String name,
                 int maxElementsInMemory,
                 MemoryStoreEvictionPolicy memoryStoreEvictionPolicy,
                 boolean overflowToDisk,
                 String diskStorePath,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds,
                 RegisteredEventListeners registeredEventListeners,
                 BootstrapCacheLoader bootstrapCacheLoader,
                 int maxElementsOnDisk);  Cache(String name,
                 int maxElementsInMemory,
                 MemoryStoreEvictionPolicy memoryStoreEvictionPolicy,
                 boolean overflowToDisk,
                 String diskStorePath,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds,
                 RegisteredEventListeners registeredEventListeners,
                 BootstrapCacheLoader bootstrapCacheLoader,
                 int maxElementsOnDisk,
                 int diskSpoolBufferSizeMB);  Cache(String name,
                 int maxElementsInMemory,
                 MemoryStoreEvictionPolicy memoryStoreEvictionPolicy,
                 boolean overflowToDisk,
                 String diskStorePath,
                 boolean eternal,
                 long timeToLiveSeconds,
                 long timeToIdleSeconds,
                 boolean diskPersistent,
                 long diskExpiryThreadIntervalSeconds,
                 RegisteredEventListeners registeredEventListeners,
                 BootstrapCacheLoader bootstrapCacheLoader,
                 int maxElementsOnDisk,
                 int diskSpoolBufferSizeMB,
                 boolean clearOnFlush); void initialise(); void bootstrap(); final void put(Element element); final void put(Element element, boolean doNotNotifyCacheReplicators); final void putQuiet(Element element); final Element get(Serializable key); final Element get(Object key); Element getWithLoader(Object key, CacheLoader loader, Object loaderArgument); void load(final Object key); Map getAllWithLoader(Collection keys, Object loaderArgument); void loadAll(final Collection keys, final Object argument); final Element getQuiet(Serializable key); final Element getQuiet(Object key); final List getKeys(); final List getKeysWithExpiryCheck(); final List getKeysNoDuplicateCheck(); final boolean remove(Serializable key); final boolean remove(Object key); final boolean remove(Serializable key, boolean doNotNotifyCacheReplicators); final boolean remove(Object key, boolean doNotNotifyCacheReplicators); final boolean removeQuiet(Serializable key); final boolean removeQuiet(Object key); void removeAll(); void removeAll(boolean doNotNotifyCacheReplicators); synchronized void dispose(); CacheConfiguration getCacheConfiguration(); final synchronized void flush(); final int getSize(); final long calculateInMemorySize(); final long getMemoryStoreSize(); final int getDiskStoreSize(); final Status getStatus(); final String getName(); final void setName(String name); final String toString(); final boolean isExpired(Element element); final Object clone(); final RegisteredEventListeners getCacheEventNotificationService(); final boolean isElementInMemory(Serializable key); final boolean isElementInMemory(Object key); final boolean isElementOnDisk(Serializable key); final boolean isElementOnDisk(Object key); final String getGuid(); final CacheManager getCacheManager(); void clearStatistics(); int getStatisticsAccuracy(); void setStatisticsAccuracy(int statisticsAccuracy); void evictExpiredElements(); boolean isKeyInCache(Object key); boolean isValueInCache(Object value); Statistics getStatistics(); void setCacheManager(CacheManager cacheManager); BootstrapCacheLoader getBootstrapCacheLoader(); void setBootstrapCacheLoader(BootstrapCacheLoader bootstrapCacheLoader); void setDiskStorePath(String diskStorePath); boolean equals(Object object); int hashCode(); void registerCacheExtension(CacheExtension cacheExtension); List<CacheExtension> getRegisteredCacheExtensions(); void unregisterCacheExtension(CacheExtension cacheExtension); float getAverageGetTime(); void setCacheExceptionHandler(CacheExceptionHandler cacheExceptionHandler); CacheExceptionHandler getCacheExceptionHandler(); void registerCacheLoader(CacheLoader cacheLoader); void unregisterCacheLoader(CacheLoader cacheLoader); List<CacheLoader> getRegisteredCacheLoaders(); boolean isDisabled(); void setDisabled(boolean disabled); Policy getMemoryStoreEvictionPolicy(); void setMemoryStoreEvictionPolicy(Policy policy); static final String DEFAULT_CACHE_NAME; static final String NET_SF_EHCACHE_DISABLED; static final String NET_SF_EHCACHE_USE_CLASSIC_LRU; static final long DEFAULT_EXPIRY_THREAD_INTERVAL_SECONDS; }