27 Nisan 2023 Perşembe

Hazelcast Jet AssertionSinks Sınıfı

Giriş
Şu satırı dahil ederiz 
import com.hazelcast.jet.pipeline.test.AssertionSinks;
Testlerde kullanmak için TestSources sınıfı var. Ama TestSinks diye bir şey yok. Sinks veya 
 AssertionSinks kullanılabilir

assertCollectedEventually metodu
Source nesneden gelen elemanları bir tane listede saklar. Elemanlar serialization işlemine maruz kalmazlar. Eğer bu test Sink nesnesi yerine bir başka Sink kullanmak istersek nesnenin Serializable olması gerekir. 

Örneğin Kafka'dan bir şey okumak istersek org.apache.kafka.connect.source.SourceRecord nesnesi Serializable olmadığı için Failed to serialize 'org.apache.kafka.connect.source.SourceRecord' hatası alırız. Kafka'dan gelen nesneyi bir projection metodu veya .map() çağrısı ile kendi nesnemize çevirmek gerekir

Örnek
Şöyle yaparız
Pipeline pipeline = Pipeline.create();
  ...
  .writeTo(Sinks.logger());
  .writeTo(AssertionSinks.assertCollectedEventually(60,
                        list -> assertEquals(100, list.size())));

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