Class PersistentStreamingDispatcherMultipleConsumers
java.lang.Object
org.apache.pulsar.broker.service.EntryFilterSupport
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
A
PersistentDispatcherMultipleConsumers implemented StreamingDispatcher.
It'll use StreamingEntryReader to 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, dispatchMessagesThread, dispatchRateLimiter, havePendingRead, havePendingReplayRead, lastIndividualDeletedRangeFromCursorRecovery, minReplayedPosition, name, readBatchSize, readFailureBackoff, redeliveryMessages, redeliveryTracker, sendInProgress, shouldRewindBeforeReadingOrReplaying, topic, TOTAL_AVAILABLE_PERMITS_UPDATER, totalAvailablePermits, totalUnackedMessagesFields inherited from class org.apache.pulsar.broker.service.AbstractDispatcherMultipleConsumers
consumerList, consumerSet, currentConsumerRoundRobinIndex, FALSE, IS_CLOSED_UPDATER, TRUEFields inherited from class org.apache.pulsar.broker.service.AbstractBaseDispatcher
dispatchThrottlingOnBatchMessageEnabled, serviceConfigFields inherited from class org.apache.pulsar.broker.service.EntryFilterSupport
entryFilters, filterContext, subscription -
Constructor Summary
ConstructorsConstructorDescriptionPersistentStreamingDispatcherMultipleConsumers(PersistentTopic topic, org.apache.bookkeeper.mledger.ManagedCursor cursor, Subscription subscription) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidvoidcanReadMoreEntries(boolean withBackoff) Notify dispatcher can issue next read request.voidNotify 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.voidMethods 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, getDelayedTrackerMemoryUsage, getFirstAvailableConsumerPermits, getMessagesToReplayNow, getName, getNumberOfDelayedMessages, getRateLimiter, getRedeliveryTracker, getStickyKeyHash, getTopic, getTotalUnackedMessages, getType, initializeDispatchRateLimiterIfNeeded, isAtleastOneConsumerAvailable, isBlockedDispatcherOnUnackedMsgs, isConsumerAvailable, isConsumerConnected, isConsumersExceededOnSubscription, readEntriesComplete, readEntriesFailed, readMoreEntriesAsync, redeliverUnacknowledgedMessages, redeliverUnacknowledgedMessages, removeConsumer, reScheduleRead, reset, resetCloseFuture, sendMessagesToConsumers, shouldPauseDeliveryForDelayTracker, trackDelayedDelivery, trySendMessagesToConsumers, unBlockDispatcherOnUnackedMsgs, updateRateLimiterMethods inherited from class org.apache.pulsar.broker.service.AbstractDispatcherMultipleConsumers
getNextConsumer, getRandomConsumer, isClosedMethods inherited from class org.apache.pulsar.broker.service.AbstractBaseDispatcher
computeReadLimits, filterEntriesForConsumer, filterEntriesForConsumer, getFilterAcceptedMsgCount, getFilterProcessedMsgCount, getFilterRejectedMsgCount, getFilterRescheduledMsgCount, getSubscriptionName, isConsumersExceededOnSubscription, peekStickyKey, reachDispatchRateLimit, updateMessagesToRead, updatePendingBytesToDispatchMethods inherited from class org.apache.pulsar.broker.service.EntryFilterSupport
runFiltersForEntryMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.pulsar.broker.service.Dispatcher
addConsumer, addUnAckedMessages, canUnsubscribe, checkAndUnblockIfStuck, clearDelayedMessages, close, consumerFlow, cursorIsReset, disconnectActiveConsumers, disconnectAllConsumers, disconnectAllConsumers, getConsumers, getFilterAcceptedMsgCount, getFilterProcessedMsgCount, getFilterRejectedMsgCount, getFilterRescheduledMsgCount, getNumberOfDelayedMessages, getRateLimiter, getRedeliveryTracker, getType, initializeDispatchRateLimiterIfNeeded, isClosed, isConsumerConnected, markDeletePositionMoveForward, redeliverUnacknowledgedMessages, redeliverUnacknowledgedMessages, removeConsumer, reset, resetCloseFuture, trackDelayedDelivery, updateRateLimiterMethods inherited from interface org.apache.pulsar.broker.service.streamingdispatch.StreamingDispatcher
getName
-
Constructor Details
-
PersistentStreamingDispatcherMultipleConsumers
public PersistentStreamingDispatcherMultipleConsumers(PersistentTopic topic, org.apache.bookkeeper.mledger.ManagedCursor cursor, Subscription subscription)
-
-
Method Details
-
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
-