Friday, May 17, 2013
Guice Cache Example
package com.cefalo.mediator;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
import java.util.concurrent.TimeUnit;
/**
* @author humayun
*/
public class CacheTest {
static LoadingCache<String, Animal> animalCache = CacheBuilder.newBuilder()
.maximumSize(1000)
.expireAfterWrite(5, TimeUnit.MINUTES)
.build(new AnimalCacheLoader());
public static void main(String args[]) throws Exception {
for (int i = 0; i < 1000; ++i) {
System.out.println(animalCache.get("ABC"));
}
}
}
class Animal {
private final String name;
public Animal(String name) {
this.name = name;
}
@Override
public String toString() {
return "Animal/" + name;
}
}
class AnimalCacheLoader extends CacheLoader<String, Animal> {
@Override
public Animal load(String key) throws Exception {
System.out.println("Loading : " + key);
return new Animal(key);
}
}
Labels:
Guice
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment