Package com.example.atleastonce.consumer
Class LanguagePreferenceConsumer
java.lang.Object
com.example.atleastonce.consumer.LanguagePreferenceConsumer
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidonMessage(org.apache.kafka.clients.consumer.ConsumerRecord<String, LanguagePreference> record, org.springframework.kafka.support.Acknowledgment ack) Consumes language preference events with manual acknowledgment.voidprocess(LanguagePreference event)
-
Constructor Details
-
LanguagePreferenceConsumer
public LanguagePreferenceConsumer()
-
-
Method Details
-
onMessage
@KafkaListener(topics="language-preferences", groupId="${spring.kafka.consumer.group-id}", containerFactory="kafkaListenerContainerFactory") public void onMessage(org.apache.kafka.clients.consumer.ConsumerRecord<String, LanguagePreference> record, org.springframework.kafka.support.Acknowledgment ack) Consumes language preference events with manual acknowledgment. The offset is committed only after process() succeeds, guaranteeing at-least-once delivery. Resilience4j retries wrap the downstream call. -
process
@Retry(name="languagePreferenceConsumer") @CircuitBreaker(name="languagePreferenceConsumer") public void process(LanguagePreference event)
-