Giriş
Şu satırı dahil ederiz
import com.hazelcast.jet.core.Inbox;
Kalıtım şöyle
Inbox
AdaptingInbox
ArrayDequeInbox : Esas kullanılan sınıf bu
LoggingInbox
TestInbox
ArrayDequeInbox Sınıfı
Şu satırı dahil ederiz
import com.hazelcast.jet.impl.util.ArrayDequeInbox;
Kodu şöyle. İçinde bir ArrayDeque var. Jet sınıflarında durmak için ArrayDeque sınıfını add metodun breakpoint koyarız ve breakpoint condition olarak e instanceof JetSqlRow yaparız
/** * An {@link Inbox} implementation backed by an {@link ArrayDeque}. */ public final class ArrayDequeInbox implements Inbox { private final ProgressTracker progTracker; private final ArrayDeque<Object> queue = new ArrayDeque<>(); ... }
Bu sınıf thread safe değil gibi görünüyor ama aslında ProcessorTasklet#processInbox metodu tarafından doldurulup boşaltıldığı için yani tek thread ile çalıştığı için sorun yok.
Processor'lar arasında iki tane sınıf var
OneToOneConcurrentArrayQueue
ManyToOneConcurrentArrayQueue
processInbox metodu bu kuyruklardan okuyor ve Inbox nesnesini dolduruyor
Hiç yorum yok:
Yorum Gönder