Class PersistentStreamingDispatcherMultipleConsumers
- java.lang.Object
-
- org.apache.pulsar.broker.service.AbstractBaseDispatcher
-
- org.apache.pulsar.broker.service.AbstractDispatcherMultipleConsumers
-
- org.apache.pulsar.broker.service.persistent.PersistentDispatcherMultipleConsumers
-
- org.apache.pulsar.broker.service.persistent.PersistentStreamingDispatcherMultipleConsumers
-
- All Implemented Interfaces:
org.apache.bookkeeper.mledger.AsyncCallbacks.ReadEntriesCallback,Dispatcher,StreamingDispatcher
public class PersistentStreamingDispatcherMultipleConsumers extends PersistentDispatcherMultipleConsumers implements StreamingDispatcher
APersistentDispatcherMultipleConsumersimplementedStreamingDispatcher. It'll useStreamingEntryReaderto read new entries instead read as micro batch from managed ledger.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.pulsar.broker.service.persistent.PersistentDispatcherMultipleConsumers
PersistentDispatcherMultipleConsumers.ReadType
-
-
Field Summary
-
Fields inherited from class org.apache.pulsar.broker.service.persistent.PersistentDispatcherMultipleConsumers
BLOCKED_DISPATCHER_ON_UNACKMSG_UPDATER, cursor, dispatchRateLimiter, havePendingRead, havePendingReplayRead, lastIndividualDeletedRangeFromCursorRecovery, minReplayedPosition, name, readBatchSize, readFailureBackoff, redeliveryMessages, redeliveryTracker, shouldRewindBeforeReadingOrReplaying, topic, TOTAL_AVAILABLE_PERMITS_UPDATER, totalAvailablePermits, totalUnackedMessages
-
Fields inherited from class org.apache.pulsar.broker.service.AbstractDispatcherMultipleConsumers
consumerList, consumerSet, currentConsumerRoundRobinIndex, FALSE, IS_CLOSED_UPDATER, TRUE
-
Fields inherited from class org.apache.pulsar.broker.service.AbstractBaseDispatcher
dispatchThrottlingOnBatchMessageEnabled, entryFilters, filterContext, serviceConfig, subscription
-
-
Constructor Summary
Constructors Constructor Description PersistentStreamingDispatcherMultipleConsumers(PersistentTopic topic, org.apache.bookkeeper.mledger.ManagedCursor cursor, Subscription subscription)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcancelPendingRead()voidcanReadMoreEntries(boolean withBackoff)Notify dispatcher can issue next read request.voidnotifyConsumersEndOfTopic()Notify dispatcher to inform consumers reached end of topic.voidreadEntryComplete(org.apache.bookkeeper.mledger.Entry entry, PendingReadEntryRequest ctx)Notify dispatcher issued read entry request has complete.voidreadMoreEntries()-
Methods inherited from class org.apache.pulsar.broker.service.persistent.PersistentDispatcherMultipleConsumers
addConsumer, addMessageToReplay, addMessageToReplay, addUnAckedMessages, asyncReplayEntries, asyncReplayEntriesInOrder, blockDispatcherOnUnackedMsgs, calculateToRead, canUnsubscribe, checkAndUnblockIfStuck, clearDelayedMessages, close, consumerFlow, cursorIsReset, disconnectActiveConsumers, disconnectAllConsumers, getConsumers, getFirstAvailableConsumerPermits, getMessagesToReplayNow, getName, getNumberOfDelayedMessages, getRateLimiter, getRedeliveryTracker, getStickyKeyHash, getTopic, getTotalUnackedMessages, getType, initializeDispatchRateLimiterIfNeeded, isAtleastOneConsumerAvailable, isBlockedDispatcherOnUnackedMsgs, isConsumerAvailable, isConsumerConnected, isConsumersExceededOnSubscription, readEntriesComplete, readEntriesFailed, redeliverUnacknowledgedMessages, redeliverUnacknowledgedMessages, removeConsumer, reScheduleRead, reset, resetCloseFuture, sendMessagesToConsumers, shouldPauseDeliveryForDelayTracker, trackDelayedDelivery, unBlockDispatcherOnUnackedMsgs, updateRateLimiter
-
Methods inherited from class org.apache.pulsar.broker.service.AbstractDispatcherMultipleConsumers
getNextConsumer, getRandomConsumer, isClosed
-
Methods inherited from class org.apache.pulsar.broker.service.AbstractBaseDispatcher
computeReadLimits, filterEntriesForConsumer, filterEntriesForConsumer, isConsumersExceededOnSubscription, peekStickyKey, reachDispatchRateLimit, updateEntryWrapperWithMetadata, updateMessagesToRead
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.pulsar.broker.service.Dispatcher
addConsumer, addUnAckedMessages, canUnsubscribe, checkAndUnblockIfStuck, clearDelayedMessages, close, consumerFlow, cursorIsReset, disconnectActiveConsumers, disconnectAllConsumers, disconnectAllConsumers, getConsumers, getNumberOfDelayedMessages, getRateLimiter, getRedeliveryTracker, getType, initializeDispatchRateLimiterIfNeeded, isClosed, isConsumerConnected, markDeletePositionMoveForward, redeliverUnacknowledgedMessages, redeliverUnacknowledgedMessages, removeConsumer, reset, resetCloseFuture, trackDelayedDelivery, updateRateLimiter
-
Methods inherited from interface org.apache.pulsar.broker.service.streamingdispatch.StreamingDispatcher
getName
-
-
-
-
Constructor Detail
-
PersistentStreamingDispatcherMultipleConsumers
public PersistentStreamingDispatcherMultipleConsumers(PersistentTopic topic, org.apache.bookkeeper.mledger.ManagedCursor cursor, Subscription subscription)
-
-
Method Detail
-
readEntryComplete
public void readEntryComplete(org.apache.bookkeeper.mledger.Entry entry, PendingReadEntryRequest ctx)Notify dispatcher issued read entry request has complete.- Specified by:
readEntryCompletein interfaceStreamingDispatcher- Parameters:
entry- Entry read.ctx- Context passed in when issuing read entries request.
-
canReadMoreEntries
public void canReadMoreEntries(boolean withBackoff)
Notify dispatcher can issue next read request.- Specified by:
canReadMoreEntriesin interfaceStreamingDispatcher
-
notifyConsumersEndOfTopic
public void notifyConsumersEndOfTopic()
Notify dispatcher to inform consumers reached end of topic.- Specified by:
notifyConsumersEndOfTopicin interfaceStreamingDispatcher
-
cancelPendingRead
protected void cancelPendingRead()
- Overrides:
cancelPendingReadin classPersistentDispatcherMultipleConsumers
-
readMoreEntries
public void readMoreEntries()
- Overrides:
readMoreEntriesin classPersistentDispatcherMultipleConsumers
-
-