ehcache 自定义缓存监听(event listeners)
*************************
使用说明
缓存监听事件在对应的缓存事件发生时触发
Cache listeners allow implementers to register callback methods
that will be executed when a cache event occurs
缓存监听器注册在缓存上
Listeners are registered at the cache level - and therefore
only receive events for caches that they have been registered with
*************************
相关类与接口
CacheEventListener
public interface CacheEventListener<K, V> {
void onEvent(CacheEvent<? extends K, ? extends V> var1);
}
CacheEventAdapter
public abstract class CacheEventAdapter<K, V> implements CacheEventListener<K, V> {
public CacheEventAdapter() {
}
public final void onEvent(CacheEvent<? extends K, ? extends V> event) {
switch(event.getType()) {
case CREATED:
this.onCreation(event.getKey(), event.getNewValue());
break;
case UPDATED:
this.onUpdate(event.getKey(), event.getOldValue(), event.getNewValue());
break;
case REMOVED:
this.onRemoval(event.getKey(), event.getOldValue());
break;
case EXPIRED:
this.onExpiry(event.getKey(), event.getOldValue());
break;
case EVICTED:
this.onEviction(event.getKey(), event.getOldValue());
break;
default:
throw new AssertionError("Unsupported event type " + event.getType());
}
}
protected void onEviction(K key, V evictedValue) {
}
protected void onExpiry(K key, V expiredValue) {
}
protected void onRemoval(K key, V removedValue) {
}
protected void onUpdate(K key, V oldValue, V newValue) {
}
protected void onCreation(K key, V newValue) {
}
}
CacheEvent
public interface CacheEvent<K, V> {
EventType getType();
K getKey();
V getNewValue();
V getOldValue();