12 Mayıs 2023 Cuma

Hazelcast Jet WriteMapP Sınıfı

Giriş
Şu satırı dahil ederiz 
import com.hazelcast.jet.impl.connector.WriteMapP;
Bir IMap nesnesine yazmak işlemini gerçekleştiren Processor.

processInternal metodu
Kod şöyle. ArrayMap aslında bir Map gerçekleştirimi. Inbox'tan nesneleri okuyor ve buffer nesnesine ekliyor.
public final class WriteMapP<T, K, V> extends AsyncHazelcastWriterP {
    private static final int BUFFER_LIMIT = 1024;
    private ArrayMap<Object, Object> buffer;
    ...
}
 
Kod şöyle.
@Override
protected void processInternal(Inbox inbox) {
  if (buffer.size() < BUFFER_LIMIT) {
    inbox.drain(addToBuffer);
  }
  submitPending();
}

private boolean submitPending() {
  if (buffer.isEmpty()) {
    return true;
  }
  if (!tryAcquirePermit()) {
    return false;
  }
  setCallback(map.putAllAsync(buffer));
  resetBuffer();
  return true;
}


Hiç yorum yok:

Yorum Gönder

THIRD-PARTY.txt Dosyası

Kullanılan harici kütüphanelerin sürümleri bu dosyada Dosyanın yolu şöyle hazelcast/licenses/THIRD-PARTY.txt