public interface Topic
| Modifier and Type | Interface and Description |
|---|---|
static interface |
Topic.PublishContext |
| Modifier and Type | Method and Description |
|---|---|
void |
addProducer(Producer producer) |
CompletableFuture<org.apache.pulsar.common.protocol.schema.SchemaVersion> |
addSchema(org.apache.pulsar.common.protocol.schema.SchemaData schema)
Add a schema to the topic.
|
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> |
checkSchemaCompatibleForConsumer(org.apache.pulsar.common.protocol.schema.SchemaData schema)
Check if schema is compatible with current topic schema.
|
void |
checkTopicPublishThrottlingRate() |
CompletableFuture<Void> |
close(boolean closeWithoutWaitingClientDisconnect) |
CompletableFuture<Subscription> |
createSubscription(String subscriptionName,
org.apache.pulsar.common.api.proto.PulsarApi.CommandSubscribe.InitialPosition initialPosition,
boolean replicateSubscriptionState) |
CompletableFuture<Void> |
delete() |
CompletableFuture<Void> |
deleteForcefully() |
CompletableFuture<org.apache.pulsar.common.protocol.schema.SchemaVersion> |
deleteSchema()
Delete the schema if this topic has a schema defined for it.
|
void |
disableCnxAutoRead() |
void |
enableCnxAutoRead() |
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() |
default Optional<DispatchRateLimiter> |
getDispatchRateLimiter() |
CompletableFuture<org.apache.pulsar.common.policies.data.PersistentTopicInternalStats> |
getInternalStats(boolean includeLedgerMetadata) |
CompletableFuture<org.apache.pulsar.client.api.MessageId> |
getLastMessageId() |
Position |
getLastPosition() |
String |
getName() |
Map<String,Producer> |
getProducers() |
org.apache.pulsar.common.util.collections.ConcurrentOpenHashMap<String,? extends Replicator> |
getReplicators() |
boolean |
getSchemaValidationEnforced() |
org.apache.pulsar.common.policies.data.TopicStats |
getStats(boolean getPreciseBacklog,
boolean subscriptionBacklogSize) |
Subscription |
getSubscription(String subscription) |
org.apache.pulsar.common.util.collections.ConcurrentOpenHashMap<String,? extends Subscription> |
getSubscriptions() |
CompletableFuture<TransactionBuffer> |
getTransactionBuffer(boolean createIfMissing)
Get the $
TransactionBuffer of this Topic. |
CompletableFuture<Boolean> |
hasSchema()
Whether a topic has had a schema defined for it.
|
void |
incrementPublishCount(int numOfMessages,
long msgSizeInBytes) |
boolean |
isBacklogQuotaExceeded(String producerName) |
boolean |
isBrokerPublishRateExceeded() |
boolean |
isEncryptionRequired() |
boolean |
isPublishRateExceeded() |
boolean |
isReplicated() |
default boolean |
isSystemTopic() |
boolean |
isTopicPublishRateExceeded(int msgSize,
int numMessages) |
CompletableFuture<Void> |
onPoliciesUpdate(org.apache.pulsar.common.policies.data.Policies data) |
void |
publishMessage(io.netty.buffer.ByteBuf headersAndPayload,
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 |
recordAddLatency(long latency,
TimeUnit unit)
record add-latency
|
void |
removeProducer(Producer producer) |
void |
resetBrokerPublishCountAndEnableReadIfRequired(boolean doneReset) |
void |
resetTopicPublishCountAndEnableReadIfRequired() |
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 startMessageRollbackDurationSec,
boolean replicateSubscriptionState,
org.apache.pulsar.common.api.proto.PulsarApi.KeySharedMeta keySharedMeta) |
CompletableFuture<Void> |
unsubscribe(String subName) |
void |
updateRates(NamespaceStats nsStats,
org.apache.pulsar.policies.data.loadbalancer.NamespaceBundleStats currentBundleStats,
StatsOutputStream topicStatsStream,
ClusterReplicationMetrics clusterReplicationMetrics,
String namespaceName,
boolean hydratePublishers) |
void publishMessage(io.netty.buffer.ByteBuf headersAndPayload,
Topic.PublishContext callback)
void addProducer(Producer producer) throws BrokerServiceException
BrokerServiceExceptionvoid removeProducer(Producer producer)
void recordAddLatency(long latency,
TimeUnit unit)
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 startMessageRollbackDurationSec, boolean replicateSubscriptionState, org.apache.pulsar.common.api.proto.PulsarApi.KeySharedMeta keySharedMeta)
CompletableFuture<Subscription> createSubscription(String subscriptionName, org.apache.pulsar.common.api.proto.PulsarApi.CommandSubscribe.InitialPosition initialPosition, boolean replicateSubscriptionState)
CompletableFuture<Void> unsubscribe(String subName)
org.apache.pulsar.common.util.collections.ConcurrentOpenHashMap<String,? extends Subscription> getSubscriptions()
CompletableFuture<Void> delete()
String getName()
CompletableFuture<Void> checkReplication()
CompletableFuture<Void> close(boolean closeWithoutWaitingClientDisconnect)
void checkGC()
void checkInactiveSubscriptions()
void checkBackloggedCursors()
void checkDeduplicationSnapshot()
void checkMessageExpiry()
void checkMessageDeduplicationInfo()
void checkTopicPublishThrottlingRate()
void incrementPublishCount(int numOfMessages,
long msgSizeInBytes)
void resetTopicPublishCountAndEnableReadIfRequired()
void resetBrokerPublishCountAndEnableReadIfRequired(boolean doneReset)
boolean isPublishRateExceeded()
boolean isTopicPublishRateExceeded(int msgSize,
int numMessages)
boolean isBrokerPublishRateExceeded()
void disableCnxAutoRead()
void enableCnxAutoRead()
CompletableFuture<Void> onPoliciesUpdate(org.apache.pulsar.common.policies.data.Policies data)
boolean isBacklogQuotaExceeded(String producerName)
boolean isEncryptionRequired()
boolean getSchemaValidationEnforced()
boolean isReplicated()
org.apache.pulsar.common.policies.data.BacklogQuota getBacklogQuota()
void updateRates(NamespaceStats nsStats, org.apache.pulsar.policies.data.loadbalancer.NamespaceBundleStats currentBundleStats, StatsOutputStream topicStatsStream, ClusterReplicationMetrics clusterReplicationMetrics, String namespaceName, boolean hydratePublishers)
Subscription getSubscription(String subscription)
org.apache.pulsar.common.util.collections.ConcurrentOpenHashMap<String,? extends Replicator> getReplicators()
org.apache.pulsar.common.policies.data.TopicStats getStats(boolean getPreciseBacklog,
boolean subscriptionBacklogSize)
CompletableFuture<org.apache.pulsar.common.policies.data.PersistentTopicInternalStats> getInternalStats(boolean includeLedgerMetadata)
Position getLastPosition()
CompletableFuture<org.apache.pulsar.client.api.MessageId> getLastMessageId()
CompletableFuture<Boolean> hasSchema()
CompletableFuture<org.apache.pulsar.common.protocol.schema.SchemaVersion> addSchema(org.apache.pulsar.common.protocol.schema.SchemaData schema)
CompletableFuture<org.apache.pulsar.common.protocol.schema.SchemaVersion> deleteSchema()
CompletableFuture<Void> checkSchemaCompatibleForConsumer(org.apache.pulsar.common.protocol.schema.SchemaData schema)
CompletableFuture<Void> addSchemaIfIdleOrCheckCompatible(org.apache.pulsar.common.protocol.schema.SchemaData schema)
CompletableFuture<Void> deleteForcefully()
default Optional<DispatchRateLimiter> getDispatchRateLimiter()
default boolean isSystemTopic()
CompletableFuture<TransactionBuffer> getTransactionBuffer(boolean createIfMissing)
TransactionBuffer of this Topic.createIfMissing - Create the TransactionBuffer if missing.void publishTxnMessage(org.apache.pulsar.client.api.transaction.TxnID txnID,
io.netty.buffer.ByteBuf headersAndPayload,
Topic.PublishContext publishContext)
txnID - Transaction IdheadersAndPayload - Message datapublishContext - Publish contextCompletableFuture<Void> endTxn(org.apache.pulsar.client.api.transaction.TxnID txnID, int txnAction, List<org.apache.pulsar.common.api.proto.PulsarApi.MessageIdData> sendMessageIdList)
txnID - Transaction idtxnAction - Transaction action.Copyright © 2017–2021 Apache Software Foundation. All rights reserved.