Class NonPersistentSubscription
java.lang.Object
org.apache.pulsar.broker.service.AbstractSubscription
org.apache.pulsar.broker.service.nonpersistent.NonPersistentSubscription
- All Implemented Interfaces:
Subscription
-
Field Summary
Fields inherited from class org.apache.pulsar.broker.service.AbstractSubscription
bytesOutFromRemovedConsumers, msgOutFromRemovedConsumer -
Constructor Summary
ConstructorsConstructorDescriptionNonPersistentSubscription(NonPersistentTopic topic, String subscriptionName, boolean isDurable, Map<String, String> properties) -
Method Summary
Modifier and TypeMethodDescriptionvoidacknowledgeMessage(List<org.apache.bookkeeper.mledger.Position> position, org.apache.pulsar.common.api.proto.CommandAck.AckType ackType, Map<String, Long> properties) addConsumer(Consumer consumer) voidaddUnAckedMessages(int unAckMessages) analyzeBacklog(Optional<org.apache.bookkeeper.mledger.Position> position) close()voidconsumerFlow(Consumer consumer, int additionalNumberOfMessages) delete()Delete the subscription by closing and deleting its managed cursor if no consumers are connected to it.Forcefully close all consumers and deletes the subscription.Disconnect all consumers attached to the dispatcher and close this subscription.doUnsubscribe(Consumer consumer) Handle unsubscribe command from the client API Check with the dispatcher is this consumer can proceed with unsubscribe.endTxn(long txnidMostBits, long txnidLeastBits, int txnAction, long lowWaterMark) booleanexpireMessages(int messageTTLInSeconds) booleanexpireMessages(org.apache.bookkeeper.mledger.Position position) doublelonggetName()longgetNumberOfEntriesInBacklog(boolean getPreciseBacklog) org.apache.pulsar.common.policies.data.stats.NonPersistentSubscriptionStatsImplgetStats()getTopic()org.apache.pulsar.common.api.proto.CommandSubscribe.SubTypegetType()booleanvoidCompletableFuture<org.apache.bookkeeper.mledger.Entry>peekNthMessage(int messagePosition) voidredeliverUnacknowledgedMessages(Consumer consumer, long consumerEpoch) voidredeliverUnacknowledgedMessages(Consumer consumer, List<org.apache.bookkeeper.mledger.impl.PositionImpl> positions) voidremoveConsumer(Consumer consumer, boolean isResetCursor) resetCursor(long timestamp) resetCursor(org.apache.bookkeeper.mledger.Position position) skipMessages(int numMessagesToSkip) toString()voidupdateSubscriptionProperties(Map<String, String> subscriptionProperties) Methods inherited from class org.apache.pulsar.broker.service.AbstractSubscription
getBytesOutCounter, getMsgOutCounterMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.pulsar.broker.service.Subscription
getNumberOfEntriesDelayed, getNumberOfSameAddressConsumers, processReplicatedSubscriptionSnapshot, removeConsumer
-
Constructor Details
-
NonPersistentSubscription
public NonPersistentSubscription(NonPersistentTopic topic, String subscriptionName, boolean isDurable, Map<String, String> properties)
-
-
Method Details
-
interceptor
- Specified by:
interceptorin interfaceSubscription
-
getName
- Specified by:
getNamein interfaceSubscription
-
getTopic
- Specified by:
getTopicin interfaceSubscription
-
isReplicated
public boolean isReplicated()- Specified by:
isReplicatedin interfaceSubscription
-
addConsumer
- Specified by:
addConsumerin interfaceSubscription
-
removeConsumer
- Specified by:
removeConsumerin interfaceSubscription- Throws:
BrokerServiceException
-
consumerFlow
- Specified by:
consumerFlowin interfaceSubscription
-
acknowledgeMessage
public void acknowledgeMessage(List<org.apache.bookkeeper.mledger.Position> position, org.apache.pulsar.common.api.proto.CommandAck.AckType ackType, Map<String, Long> properties) - Specified by:
acknowledgeMessagein interfaceSubscription
-
toString
-
getTopicName
- Specified by:
getTopicNamein interfaceSubscription
-
getType
public org.apache.pulsar.common.api.proto.CommandSubscribe.SubType getType()- Specified by:
getTypein interfaceSubscription
-
getTypeString
- Specified by:
getTypeStringin interfaceSubscription
-
clearBacklog
- Specified by:
clearBacklogin interfaceSubscription
-
skipMessages
- Specified by:
skipMessagesin interfaceSubscription
-
resetCursor
- Specified by:
resetCursorin interfaceSubscription
-
peekNthMessage
- Specified by:
peekNthMessagein interfaceSubscription
-
getNumberOfEntriesInBacklog
public long getNumberOfEntriesInBacklog(boolean getPreciseBacklog) - Specified by:
getNumberOfEntriesInBacklogin interfaceSubscription
-
getDispatcher
- Specified by:
getDispatcherin interfaceSubscription
-
close
- Specified by:
closein interfaceSubscription
-
disconnect
Disconnect all consumers attached to the dispatcher and close this subscription.- Specified by:
disconnectin interfaceSubscription- Returns:
- CompletableFuture indicating the completion of disconnect operation
-
delete
Delete the subscription by closing and deleting its managed cursor if no consumers are connected to it. Handle unsubscribe call from admin layer.- Specified by:
deletein interfaceSubscription- Returns:
- CompletableFuture indicating the completion of delete operation
-
deleteForcefully
Forcefully close all consumers and deletes the subscription.- Specified by:
deleteForcefullyin interfaceSubscription- Returns:
-
doUnsubscribe
Handle unsubscribe command from the client API Check with the dispatcher is this consumer can proceed with unsubscribe.- Specified by:
doUnsubscribein interfaceSubscription- Parameters:
consumer- consumer object that is initiating the unsubscribe operation- Returns:
- CompletableFuture indicating the completion of ubsubscribe operation
-
getConsumers
- Specified by:
getConsumersin interfaceSubscription
-
expireMessages
public boolean expireMessages(int messageTTLInSeconds) - Specified by:
expireMessagesin interfaceSubscription
-
expireMessages
public boolean expireMessages(org.apache.bookkeeper.mledger.Position position) - Specified by:
expireMessagesin interfaceSubscription
-
getStats
public org.apache.pulsar.common.policies.data.stats.NonPersistentSubscriptionStatsImpl getStats() -
redeliverUnacknowledgedMessages
- Specified by:
redeliverUnacknowledgedMessagesin interfaceSubscription
-
redeliverUnacknowledgedMessages
public void redeliverUnacknowledgedMessages(Consumer consumer, List<org.apache.bookkeeper.mledger.impl.PositionImpl> positions) - Specified by:
redeliverUnacknowledgedMessagesin interfaceSubscription
-
addUnAckedMessages
public void addUnAckedMessages(int unAckMessages) - Specified by:
addUnAckedMessagesin interfaceSubscription
-
getExpiredMessageRate
public double getExpiredMessageRate()- Specified by:
getExpiredMessageRatein interfaceSubscription
-
markTopicWithBatchMessagePublished
public void markTopicWithBatchMessagePublished()- Specified by:
markTopicWithBatchMessagePublishedin interfaceSubscription
-
resetCursor
- Specified by:
resetCursorin interfaceSubscription
-
endTxn
public CompletableFuture<Void> endTxn(long txnidMostBits, long txnidLeastBits, int txnAction, long lowWaterMark) - Specified by:
endTxnin interfaceSubscription
-
analyzeBacklog
public CompletableFuture<AnalyzeBacklogResult> analyzeBacklog(Optional<org.apache.bookkeeper.mledger.Position> position) - Specified by:
analyzeBacklogin interfaceSubscription
-
getLastActive
public long getLastActive() -
updateLastActive
public void updateLastActive() -
getSubscriptionProperties
- Specified by:
getSubscriptionPropertiesin interfaceSubscription
-
updateSubscriptionProperties
public CompletableFuture<Void> updateSubscriptionProperties(Map<String, String> subscriptionProperties) - Specified by:
updateSubscriptionPropertiesin interfaceSubscription
-