8 Nisan 2020 Çarşamba

Caffeine RemovalListener Arayüzü

onRemoval metodu
Eğer key ve value String ise imzası şöyle olur.
void onRemoval(String key, String value, RemovalCause cause);
Örnek
Şöyle yaparız
Cache<K, V> cache = Caffeine.newBuilder()
    .expireAfterWrite(1, TimeUnit.HOURS)
    .removalListener((K key, V value, RemovalCause cause) -> {
      if (cause == RemovalCause.EXPIRED) {
        reload(key);
      }
    }).build();

private void reload(K key) {
  cache.get(key, k -> /* load */);
}
Örnek
Bu metod içinde RemovalCause nesnesini kontrol etmek istersek şöyle yaparız.
void onRemoval(String key, String value, RemovalCause cause) {
  if (RemovalCause.EXPIRED.equals(cause)) {
    ...
  }
  else if (RemovalCause.SIZE.equals(cause)) {
    ...
  }
}

Hiç yorum yok:

Yorum Gönder