8 Aralık 2020 Salı

SpringKafka Consumer Kullanımı

Giriş
1. Kafka'dan mesaj almak için applicaton.properties ayarları yapılır. Eğer bu yapılmayacaksa ConsumerFactory nesnesi yaratılmalıdır. ConsumerFactory bir arayüz olduğu için aslında DefaultKafkaConsumerFactory nesnesi yaratmak gerekir. DefaultKafkaConsumerFactory sınıfı org.apache.kafka.clients.consumer.KafKaConsumer nesnesi yaratır. Bu sınıfın poll() metodu kullanılarak Kafka'dan mesajlar çekilir.

Ayrıca KafkaListenerContainerFactory nesnesi yaratılmalıdır. KafkaListenerContainerFactory bir arayüz olduğu için ConcurrentKafkaListenerContainerFactory nesnesi yaratmak gerekir.
Açıklaması şöyle
For consuming messages, we need to configure a ConsumerFactory and a KafkaListenerContainerFactory. 
ConcurrentKafkaListenerContainerFactory kaç tane tane thread açacaksa o kadar ConsumerFactory nesnesine ihtiyaç duyar.

2. Mesajları işleyecek kodlara @KafkaListener anotasyonu eklenir
3. @EnableKafka anotasyonu eklenir. Açıklaması şöyle.
@EnableKafka annotation is required on the configuration class to enable detection of @KafkaListener annotation on spring managed beans:

Hiç yorum yok:

Yorum Gönder