Class SerialConsumer
java.lang.Object
pl.allegro.tech.hermes.consumers.consumer.SerialConsumer
- All Implemented Interfaces:
Consumer
-
Constructor Summary
ConstructorsConstructorDescriptionSerialConsumer(ReceiverFactory messageReceiverFactory, pl.allegro.tech.hermes.common.metric.MetricsFacade metrics, pl.allegro.tech.hermes.api.Subscription subscription, SerialConsumerRateLimiter rateLimiter, ConsumerMessageSenderFactory consumerMessageSenderFactory, pl.allegro.tech.hermes.tracker.consumers.Trackers trackers, MessageConverterResolver messageConverterResolver, pl.allegro.tech.hermes.api.Topic topic, CommonConsumerParameters commonConsumerParameters, ConsumerAuthorizationHandler consumerAuthorizationHandler, SubscriptionLoadRecorder loadRecorder, ConsumerPartitionAssignmentState consumerPartitionAssignmentState, Duration commitPeriod, int offsetQueueSize) -
Method Summary
Modifier and TypeMethodDescriptionvoidcommit(Set<SubscriptionPartitionOffset> offsets) voidConsume **must** make sure that interrupted status is restored as it is needed for stopping unhealthy consumers.pl.allegro.tech.hermes.api.SubscriptionvoidbooleanmoveOffset(pl.allegro.tech.hermes.common.kafka.offset.PartitionOffset offset) voidtearDown()Try to keep shutdown order the same as initialization so nothing will left to clean up when error occurs during initialization.voidupdateSubscription(pl.allegro.tech.hermes.api.Subscription newSubscription) voidupdateTopic(pl.allegro.tech.hermes.api.Topic newTopic)
-
Constructor Details
-
SerialConsumer
public SerialConsumer(ReceiverFactory messageReceiverFactory, pl.allegro.tech.hermes.common.metric.MetricsFacade metrics, pl.allegro.tech.hermes.api.Subscription subscription, SerialConsumerRateLimiter rateLimiter, ConsumerMessageSenderFactory consumerMessageSenderFactory, pl.allegro.tech.hermes.tracker.consumers.Trackers trackers, MessageConverterResolver messageConverterResolver, pl.allegro.tech.hermes.api.Topic topic, CommonConsumerParameters commonConsumerParameters, ConsumerAuthorizationHandler consumerAuthorizationHandler, SubscriptionLoadRecorder loadRecorder, ConsumerPartitionAssignmentState consumerPartitionAssignmentState, Duration commitPeriod, int offsetQueueSize)
-
-
Method Details
-
consume
Description copied from interface:ConsumerConsume **must** make sure that interrupted status is restored as it is needed for stopping unhealthy consumers. Swallowing the interrupt by consume or any of its dependencies will result in consumer being marked as unhealthy and will prevent commits despite messages being sent to subscribers. -
initialize
public void initialize()- Specified by:
initializein interfaceConsumer
-
tearDown
public void tearDown()Try to keep shutdown order the same as initialization so nothing will left to clean up when error occurs during initialization. -
updateSubscription
public void updateSubscription(pl.allegro.tech.hermes.api.Subscription newSubscription) - Specified by:
updateSubscriptionin interfaceConsumer
-
updateTopic
public void updateTopic(pl.allegro.tech.hermes.api.Topic newTopic) - Specified by:
updateTopicin interfaceConsumer
-
commit
-
moveOffset
public boolean moveOffset(pl.allegro.tech.hermes.common.kafka.offset.PartitionOffset offset) - Specified by:
moveOffsetin interfaceConsumer
-
getSubscription
public pl.allegro.tech.hermes.api.Subscription getSubscription()- Specified by:
getSubscriptionin interfaceConsumer
-