public class NonPersistentTopic extends AbstractTopic implements Topic
Topic.PublishContext| Modifier and Type | Field and Description |
|---|---|
protected static AtomicLongFieldUpdater<NonPersistentTopic> |
USAGE_COUNT_UPDATER |
addEntryLatencyStatsUsec, brokerService, hasBatchMessagePublished, inactiveTopicPolicies, isAllowAutoUpdateSchema, isEncryptionRequired, isFenced, lastActive, lock, maxSubscriptionsPerTopic, maxUnackedMessagesOnConsumer, POLICY_UPDATE_FAILURE_RETRY_TIME_SECONDS, preciseTopicPublishRateLimitingEnable, producers, replicatorPrefix, schemaCompatibilityStrategy, schemaValidationEnforced, topic, topicPublishRateLimiter, transactionBuffer, transactionBufferLock| Constructor and Description |
|---|
NonPersistentTopic(String topic,
BrokerService brokerService) |
| Modifier and Type | Method and Description |
|---|---|
void |
addProducer(Producer producer) |
protected boolean |
addReplicationCluster(String remoteCluster,
NonPersistentTopic nonPersistentTopic,
String localCluster) |
CompletableFuture<Void> |
addSchemaIfIdleOrCheckCompatible(org.apache.pulsar.common.protocol.schema.SchemaData schema)
If the topic is idle (no producers, no entries, no subscribers and no existing schema),
add the passed schema to the topic.
|
void |
checkBackloggedCursors()
Activate cursors those caught up backlog-threshold entries and deactivate slow cursors which are creating
backlog.
|
void |
checkDeduplicationSnapshot() |
void |
checkGC() |
void |
checkInactiveSubscriptions() |
void |
checkMessageDeduplicationInfo() |
void |
checkMessageExpiry() |
CompletableFuture<Void> |
checkReplication() |
CompletableFuture<Void> |
close(boolean closeWithoutWaitingClientDisconnect)
Close this topic - close all producers and subscriptions associated with this topic
|
CompletableFuture<Subscription> |
createSubscription(String subscriptionName,
org.apache.pulsar.common.api.proto.PulsarApi.CommandSubscribe.InitialPosition initialPosition,
boolean replicateSubscriptionState) |
CompletableFuture<Void> |
delete() |
CompletableFuture<Void> |
deleteForcefully()
Forcefully close all producers/consumers/replicators and deletes the topic.
|
CompletableFuture<Void> |
endTxn(org.apache.pulsar.client.api.transaction.TxnID txnID,
int txnAction,
List<org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData> sendMessageIdList)
End the transaction in this topic.
|
org.apache.pulsar.common.policies.data.BacklogQuota |
getBacklogQuota() |
CompletableFuture<org.apache.pulsar.common.policies.data.PersistentTopicInternalStats> |
getInternalStats(boolean includeLedgerMetadata) |
CompletableFuture<org.apache.pulsar.client.api.MessageId> |
getLastMessageId() |
Position |
getLastPosition() |
int |
getNumberOfConsumers() |
Replicator |
getPersistentReplicator(String remoteCluster) |
org.apache.pulsar.common.util.collections.ConcurrentOpenHashMap<String,NonPersistentReplicator> |
getReplicators() |
org.apache.pulsar.common.policies.data.NonPersistentTopicStats |
getStats(boolean getPreciseBacklog,
boolean subscriptionBacklogSize) |
Subscription |
getSubscription(String subscription) |
org.apache.pulsar.common.util.collections.ConcurrentOpenHashMap<String,NonPersistentSubscription> |
getSubscriptions() |
CompletableFuture<TransactionBuffer> |
getTransactionBuffer(boolean createIfMissing)
Get the $
TransactionBuffer of this Topic. |
void |
handleProducerRemoved(Producer producer) |
boolean |
isActive() |
boolean |
isBacklogQuotaExceeded(String producerName) |
boolean |
isReplicated() |
CompletableFuture<Void> |
onPoliciesUpdate(org.apache.pulsar.common.policies.data.Policies data) |
void |
publishMessage(io.netty.buffer.ByteBuf data,
Topic.PublishContext callback) |
void |
publishTxnMessage(org.apache.pulsar.client.api.transaction.TxnID txnID,
io.netty.buffer.ByteBuf headersAndPayload,
Topic.PublishContext publishContext)
Publish Transaction message to this Topic's TransactionBuffer
|
void |
removeProducer(Producer producer) |
CompletableFuture<Void> |
stopReplProducers() |
CompletableFuture<Consumer> |
subscribe(TransportCnx cnx,
String subscriptionName,
long consumerId,
org.apache.pulsar.common.api.proto.PulsarApi.CommandSubscribe.SubType subType,
int priorityLevel,
String consumerName,
boolean isDurable,
org.apache.pulsar.client.api.MessageId startMessageId,
Map<String,String> metadata,
boolean readCompacted,
org.apache.pulsar.common.api.proto.PulsarApi.CommandSubscribe.InitialPosition initialPosition,
long resetStartMessageBackInSec,
boolean replicateSubscriptionState,
org.apache.pulsar.common.api.proto.PulsarApi.KeySharedMeta keySharedMeta) |
CompletableFuture<Void> |
unsubscribe(String subscriptionName) |
void |
updateRates(NamespaceStats nsStats,
org.apache.pulsar.policies.data.loadbalancer.NamespaceBundleStats bundleStats,
StatsOutputStream topicStatsStream,
ClusterReplicationMetrics replStats,
String namespace,
boolean hydratePublishers) |
addConsumerToSubscription, addSchema, checkSchemaCompatibleForConsumer, checkTopicFenced, checkTopicPublishThrottlingRate, deletePartitionedTopicMetadataWhileInactive, deleteSchema, disableCnxAutoRead, disableProducerRead, enableCnxAutoRead, enableProducerReadForPublishBufferLimiting, enableProducerReadForPublishRateLimiting, getBrokerPublishRateLimiter, getBrokerService, getBytesInCounter, getBytesOutCounter, getInactiveTopicPolicies, getMsgInCounter, getMsgOutCounter, getName, getProducers, getReplicatorPrefix, getSchemaValidationEnforced, getTopicPolicies, getTopicPublishRateLimiter, hasLocalProducers, hasSchema, incrementPublishCount, internalAddProducer, isBrokerPublishRateExceeded, isConsumersExceededOnTopic, isDeleteWhileInactive, isEncryptionRequired, isExceedMaximumMessageSize, isProducersExceeded, isPublishRateExceeded, isTopicPublishRateExceeded, markBatchMessagePublished, recordAddLatency, resetBrokerPublishCountAndEnableReadIfRequired, resetInactiveTopicPolicies, resetTopicPublishCountAndEnableReadIfRequired, setDeleteWhileInactive, setSchemaCompatibilityStrategy, toString, updateMaxPublishRate, updatePublishDispatcherclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaddSchema, checkSchemaCompatibleForConsumer, checkTopicPublishThrottlingRate, deleteSchema, disableCnxAutoRead, enableCnxAutoRead, getDispatchRateLimiter, getName, getProducers, getSchemaValidationEnforced, hasSchema, incrementPublishCount, isBrokerPublishRateExceeded, isEncryptionRequired, isPublishRateExceeded, isSystemTopic, isTopicPublishRateExceeded, recordAddLatency, resetBrokerPublishCountAndEnableReadIfRequired, resetTopicPublishCountAndEnableReadIfRequiredprotected static final AtomicLongFieldUpdater<NonPersistentTopic> USAGE_COUNT_UPDATER
public NonPersistentTopic(String topic, BrokerService brokerService)
public void publishMessage(io.netty.buffer.ByteBuf data,
Topic.PublishContext callback)
publishMessage in interface Topicpublic void addProducer(Producer producer) throws BrokerServiceException
addProducer in interface TopicBrokerServiceExceptionpublic void checkMessageDeduplicationInfo()
checkMessageDeduplicationInfo in interface Topicpublic void removeProducer(Producer producer)
removeProducer in interface Topicpublic void handleProducerRemoved(Producer producer)
handleProducerRemoved in class AbstractTopicpublic CompletableFuture<Consumer> subscribe(TransportCnx cnx, String subscriptionName, long consumerId, org.apache.pulsar.common.api.proto.PulsarApi.CommandSubscribe.SubType subType, int priorityLevel, String consumerName, boolean isDurable, org.apache.pulsar.client.api.MessageId startMessageId, Map<String,String> metadata, boolean readCompacted, org.apache.pulsar.common.api.proto.PulsarApi.CommandSubscribe.InitialPosition initialPosition, long resetStartMessageBackInSec, boolean replicateSubscriptionState, org.apache.pulsar.common.api.proto.PulsarApi.KeySharedMeta keySharedMeta)
public CompletableFuture<Subscription> createSubscription(String subscriptionName, org.apache.pulsar.common.api.proto.PulsarApi.CommandSubscribe.InitialPosition initialPosition, boolean replicateSubscriptionState)
createSubscription in interface Topicpublic CompletableFuture<Void> delete()
public CompletableFuture<Void> deleteForcefully()
deleteForcefully in interface Topicpublic CompletableFuture<Void> close(boolean closeWithoutWaitingClientDisconnect)
public CompletableFuture<Void> stopReplProducers()
public CompletableFuture<Void> checkReplication()
checkReplication in interface Topicprotected boolean addReplicationCluster(String remoteCluster, NonPersistentTopic nonPersistentTopic, String localCluster)
public void checkMessageExpiry()
checkMessageExpiry in interface Topicpublic int getNumberOfConsumers()
getNumberOfConsumers in class AbstractTopicpublic org.apache.pulsar.common.util.collections.ConcurrentOpenHashMap<String,NonPersistentSubscription> getSubscriptions()
getSubscriptions in interface Topicpublic org.apache.pulsar.common.util.collections.ConcurrentOpenHashMap<String,NonPersistentReplicator> getReplicators()
getReplicators in interface Topicpublic Subscription getSubscription(String subscription)
getSubscription in interface Topicpublic Replicator getPersistentReplicator(String remoteCluster)
public void updateRates(NamespaceStats nsStats, org.apache.pulsar.policies.data.loadbalancer.NamespaceBundleStats bundleStats, StatsOutputStream topicStatsStream, ClusterReplicationMetrics replStats, String namespace, boolean hydratePublishers)
updateRates in interface Topicpublic org.apache.pulsar.common.policies.data.NonPersistentTopicStats getStats(boolean getPreciseBacklog,
boolean subscriptionBacklogSize)
public CompletableFuture<org.apache.pulsar.common.policies.data.PersistentTopicInternalStats> getInternalStats(boolean includeLedgerMetadata)
getInternalStats in interface Topicpublic boolean isActive()
public void checkInactiveSubscriptions()
checkInactiveSubscriptions in interface Topicpublic void checkBackloggedCursors()
TopiccheckBackloggedCursors in interface Topicpublic void checkDeduplicationSnapshot()
checkDeduplicationSnapshot in interface Topicpublic CompletableFuture<Void> onPoliciesUpdate(org.apache.pulsar.common.policies.data.Policies data)
onPoliciesUpdate in interface Topicpublic org.apache.pulsar.common.policies.data.BacklogQuota getBacklogQuota()
getBacklogQuota in interface Topicpublic boolean isBacklogQuotaExceeded(String producerName)
isBacklogQuotaExceeded in interface Topicpublic boolean isReplicated()
isReplicated in interface Topicpublic CompletableFuture<Void> unsubscribe(String subscriptionName)
unsubscribe in interface Topicpublic Position getLastPosition()
getLastPosition in interface Topicpublic CompletableFuture<org.apache.pulsar.client.api.MessageId> getLastMessageId()
getLastMessageId in interface Topicpublic CompletableFuture<Void> addSchemaIfIdleOrCheckCompatible(org.apache.pulsar.common.protocol.schema.SchemaData schema)
TopicaddSchemaIfIdleOrCheckCompatible in interface Topicpublic CompletableFuture<TransactionBuffer> getTransactionBuffer(boolean createIfMissing)
TopicTransactionBuffer of this Topic.getTransactionBuffer in interface TopiccreateIfMissing - Create the TransactionBuffer if missing.public void publishTxnMessage(org.apache.pulsar.client.api.transaction.TxnID txnID,
io.netty.buffer.ByteBuf headersAndPayload,
Topic.PublishContext publishContext)
TopicpublishTxnMessage in interface TopictxnID - Transaction IdheadersAndPayload - Message datapublishContext - Publish contextpublic CompletableFuture<Void> endTxn(org.apache.pulsar.client.api.transaction.TxnID txnID, int txnAction, List<org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData> sendMessageIdList)
TopicCopyright © 2017–2021 Apache Software Foundation. All rights reserved.