10 Ekim 2021 Pazar

ContinuousQuery Sınıfı - Thin Client

Giriş
Şu satırı dahil ederiz
import org.apache.ignite.cache.query.ContinuousQuery;
ContinuousQuery ve Events farklı şeylerdir. Events için Ignite sınıfının getEvents() metodu kullanılır.

ContinuousQuery belli bir cache için kullanılabilir.

setIncludeExpired metodu
Açıklaması şöyle
Sets the flag value defining whether to notify about EventType.EXPIRED events. If true, then the remote listener will get notifications about entries expired in cache. Otherwise, only EventType.CREATED, EventType.UPDATED and EventType.REMOVED events will be fired in the remote listener. This flag is false by default, so EventType.EXPIRED events are disabled.
Örnek
Şöyle yaparız
import javax.cache.configuration.Factory;
import javax.cache.event.EventType;

IgniteClient client = ...;
ClientCacheConfiguration ccc = ...;
ClientCache<Integer, String> cache = client.getOrCreateCache(ccc);
ContinuousQuery<Integer, String> query = new ContinuousQuery<>();
query.setIncludeExpired(true);
query.setLocalListener(events -> events.forEach(e -> System.out.println(
  "EVENT: "
  + e.getEventType()
  + " "
  + e.getKey()
  + " "
  + e.getValue())));
//Filter for expired entity
query.setRemoteFilterFactory((Factory<CacheEntryEventFilter<Integer, String>>) () -> 
    e -> e.getEventType() == EventType.EXPIRED);

cache.query(query);
setLocalListener metodu
Bir örnek burada

Hiç yorum yok:

Yorum Gönder

Ignite Transaction Kullanımı

Giriş Bir tablo 3 tane atomicity değerinden birisine sahip olabilir. 1. ATOMIC 2. TRANSACTIONAL 3. TRANSACTIONAL_SNAPSHOT ATOMIC Açıklaması ...