org.ehcache.Cache#removeAll method removes any associated value for the given key set.
Signature
void removeAll(Set<? extends K> keys) throws BulkCacheWritingException;
Example
Set<Long> keysToRemove = new HashSet<>();
keysToRemove.add(1L);
keysToRemove.add(2L);
empCache.removeAll(keysToRemove);
Above snippet remove the elements with keys 1 and 2.
Find the below working application.
CacheRemoveAllDemo.java
package com.sample.app;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import org.ehcache.Cache;
import org.ehcache.Cache.Entry;
import org.ehcache.CacheManager;
import org.ehcache.config.builders.CacheConfigurationBuilder;
import org.ehcache.config.builders.CacheManagerBuilder;
import org.ehcache.config.builders.ResourcePoolsBuilder;
public class CacheRemoveAllDemo {
private static void printAllElementsFromCache(Cache<Long, String> empCache) {
System.out.println("\nPrint all the elements from the cache");
Iterator<Entry<Long, String>> iter = empCache.iterator();
while (iter.hasNext()) {
Entry<Long, String> entry = iter.next();
System.out.println(entry.getKey() + " is mapped to (" + entry.getValue() + ")");
}
}
public static void main(String[] args) {
CacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder().build(true);
Cache<Long, String> empCache = cacheManager.createCache("empCache", CacheConfigurationBuilder
.newCacheConfigurationBuilder(Long.class, String.class, ResourcePoolsBuilder.heap(100)).build());
Map<Long, String> dataMap = new HashMap<>();
dataMap.put(1L, "Ram,34");
dataMap.put(2L, "Krishna,38");
dataMap.put(3L, "Ravi,41");
empCache.putAll(dataMap);
printAllElementsFromCache(empCache);
System.out.println("\nRemove the entries with keys 1 and 3");
Set<Long> keysToRemove = new HashSet<>();
keysToRemove.add(1L);
keysToRemove.add(2L);
empCache.removeAll(keysToRemove);
printAllElementsFromCache(empCache);
cacheManager.close();
}
}
Output
Print all the elements from the cache 1 is mapped to (Ram,34) 2 is mapped to (Krishna,38) 3 is mapped to (Ravi,41) Remove the entries with keys 1 and 3 Print all the elements from the cache 3 is mapped to (Ravi,41)
No comments:
Post a Comment