in pulsar-client-admin-api/src/main/java/org/apache/pulsar/client/admin/Topics.java [2341:4553]
DelayedDeliveryPolicies getDelayedDeliveryPolicy(String topic
, boolean applied) throws PulsarAdminException;
/**
* Get the delayed delivery policy applied for a specified topic asynchronously.
* @param topic
* @param applied
* @return
* @deprecated Use {@link TopicPolicies#getDelayedDeliveryPolicyAsync(String, boolean)} instead.
*/
@Deprecated
CompletableFuture<DelayedDeliveryPolicies> getDelayedDeliveryPolicyAsync(String topic
, boolean applied);
/**
* Get the delayed delivery policy for a specified topic.
* @param topic
* @return
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#getDelayedDeliveryPolicy(String)} instead.
*/
@Deprecated
DelayedDeliveryPolicies getDelayedDeliveryPolicy(String topic) throws PulsarAdminException;
/**
* Get the delayed delivery policy for a specified topic asynchronously.
* @param topic
* @return
* @deprecated Use {@link TopicPolicies#getDelayedDeliveryPolicyAsync(String)} instead.
*/
@Deprecated
CompletableFuture<DelayedDeliveryPolicies> getDelayedDeliveryPolicyAsync(String topic);
/**
* Set the delayed delivery policy for a specified topic.
* @param topic
* @param delayedDeliveryPolicies
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#setDelayedDeliveryPolicy(String, DelayedDeliveryPolicies)} instead.
*/
@Deprecated
void setDelayedDeliveryPolicy(String topic
, DelayedDeliveryPolicies delayedDeliveryPolicies) throws PulsarAdminException;
/**
* Set the delayed delivery policy for a specified topic asynchronously.
* @param topic
* @param delayedDeliveryPolicies
* @return
* @deprecated Use {@link TopicPolicies#setDelayedDeliveryPolicyAsync(String, DelayedDeliveryPolicies)} instead.
*/
@Deprecated
CompletableFuture<Void> setDelayedDeliveryPolicyAsync(String topic
, DelayedDeliveryPolicies delayedDeliveryPolicies);
/**
* Remove the delayed delivery policy for a specified topic asynchronously.
* @param topic
* @return
* @deprecated Use {@link TopicPolicies#removeDelayedDeliveryPolicyAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Void> removeDelayedDeliveryPolicyAsync(String topic);
/**
* Remove the delayed delivery policy for a specified topic.
* @param topic
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#removeDelayedDeliveryPolicy(String)} instead.
*/
@Deprecated
void removeDelayedDeliveryPolicy(String topic) throws PulsarAdminException;
/**
* Set message TTL for a topic.
*
* @param topic
* Topic name
* @param messageTTLInSecond
* Message TTL in second.
* @throws NotAuthorizedException
* Don't have admin permission
* @throws NotFoundException
* Topic does not exist
* @throws PulsarAdminException
* Unexpected error
* @deprecated Use {@link TopicPolicies#setMessageTTL(String, int)} instead.
*/
@Deprecated
void setMessageTTL(String topic, int messageTTLInSecond) throws PulsarAdminException;
/**
* Get message TTL for a topic.
*
* @param topic
* @return Message TTL in second.
* @throws NotAuthorizedException
* Don't have admin permission
* @throws NotFoundException
* Topic does not exist
* @throws PulsarAdminException
* Unexpected error
* @deprecated Use {@link TopicPolicies#getMessageTTL(String)} instead.
*/
@Deprecated
Integer getMessageTTL(String topic) throws PulsarAdminException;
/**
* Get message TTL applied for a topic.
* @param topic
* @return
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#getMessageTTL(String, boolean)} instead.
*/
@Deprecated
Integer getMessageTTL(String topic, boolean applied) throws PulsarAdminException;
/**
* Remove message TTL for a topic.
*
* @param topic
* @throws NotAuthorizedException
* Don't have admin permission
* @throws NotFoundException
* Topic does not exist
* @throws PulsarAdminException
* Unexpected error
* @deprecated Use {@link TopicPolicies#removeMessageTTL(String)} instead.
*/
@Deprecated
void removeMessageTTL(String topic) throws PulsarAdminException;
/**
* Set the retention configuration on a topic.
* <p/>
* Set the retention configuration on a topic. This operation requires Pulsar super-user access.
* <p/>
* Request parameter example:
* <p/>
*
* <pre>
* <code>
* {
* "retentionTimeInMinutes" : 60, // how long to retain messages
* "retentionSizeInMB" : 1024, // retention backlog limit
* }
* </code>
* </pre>
*
* @param topic
* Topic name
*
* @throws NotAuthorizedException
* Don't have admin permission
* @throws NotFoundException
* Topic does not exist
* @throws ConflictException
* Concurrent modification
* @throws PulsarAdminException
* Unexpected error
* @deprecated Use {@link TopicPolicies#setRetention(String, RetentionPolicies)} instead.
*/
@Deprecated
void setRetention(String topic, RetentionPolicies retention) throws PulsarAdminException;
/**
* Set the retention configuration for all the topics on a topic asynchronously.
* <p/>
* Set the retention configuration on a topic. This operation requires Pulsar super-user access.
* <p/>
* Request parameter example:
* <p/>
*
* <pre>
* <code>
* {
* "retentionTimeInMinutes" : 60, // how long to retain messages
* "retentionSizeInMB" : 1024, // retention backlog limit
* }
* </code>
* </pre>
*
* @param topic
* Topic name
* @deprecated Use {@link TopicPolicies#setRetentionAsync(String, RetentionPolicies)} instead.
*/
@Deprecated
CompletableFuture<Void> setRetentionAsync(String topic, RetentionPolicies retention);
/**
* Get the retention configuration for a topic.
* <p/>
* Get the retention configuration for a topic.
* <p/>
* Response example:
* <p/>
*
* <pre>
* <code>
* {
* "retentionTimeInMinutes" : 60, // how long to retain messages
* "retentionSizeInMB" : 1024, // retention backlog limit
* }
* </code>
* </pre>
*
* @param topic
* Topic name
* @throws NotAuthorizedException
* Don't have admin permission
* @throws NotFoundException
* Topic does not exist
* @throws ConflictException
* Concurrent modification
* @throws PulsarAdminException
* Unexpected error
* @deprecated Use {@link TopicPolicies#getRetention(String)} instead.
*/
@Deprecated
RetentionPolicies getRetention(String topic) throws PulsarAdminException;
/**
* Get the retention configuration for a topic asynchronously.
* <p/>
* Get the retention configuration for a topic.
* <p/>
*
* @param topic
* Topic name
* @deprecated Use {@link TopicPolicies#getRetentionAsync(String)} instead.
*/
@Deprecated
CompletableFuture<RetentionPolicies> getRetentionAsync(String topic);
/**
* Get the applied retention configuration for a topic.
* @param topic
* @param applied
* @return
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#getRetention(String, boolean)} instead.
*/
@Deprecated
RetentionPolicies getRetention(String topic, boolean applied) throws PulsarAdminException;
/**
* Get the applied retention configuration for a topic asynchronously.
* @param topic
* @param applied
* @return
* @deprecated Use {@link TopicPolicies#getRetentionAsync(String, boolean)} instead.
*/
@Deprecated
CompletableFuture<RetentionPolicies> getRetentionAsync(String topic, boolean applied);
/**
* Remove the retention configuration for all the topics on a topic.
* <p/>
* Remove the retention configuration on a topic. This operation requires Pulsar super-user access.
* <p/>
* Request parameter example:
* <p/>
*
* @param topic
* Topic name
*
* @throws NotAuthorizedException
* Don't have admin permission
* @throws NotFoundException
* Topic does not exist
* @throws ConflictException
* Concurrent modification
* @throws PulsarAdminException
* Unexpected error
* @deprecated Use {@link TopicPolicies#removeRetention(String)} instead.
*/
@Deprecated
void removeRetention(String topic) throws PulsarAdminException;
/**
* Remove the retention configuration for all the topics on a topic asynchronously.
* <p/>
* Remove the retention configuration on a topic. This operation requires Pulsar super-user access.
* <p/>
* Request parameter example:
* <p/>
*
* <pre>
* <code>
* {
* "retentionTimeInMinutes" : 60, // how long to retain messages
* "retentionSizeInMB" : 1024, // retention backlog limit
* }
* </code>
* </pre>
*
* @param topic
* Topic name
* @deprecated Use {@link TopicPolicies#removeRetentionAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Void> removeRetentionAsync(String topic);
/**
* get max unacked messages on consumer of a topic.
* @param topic
* @return
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#getMaxUnackedMessagesOnConsumer(String)} instead.
*/
@Deprecated
Integer getMaxUnackedMessagesOnConsumer(String topic) throws PulsarAdminException;
/**
* get max unacked messages on consumer of a topic asynchronously.
* @param topic
* @return
* @deprecated Use {@link TopicPolicies#getMaxUnackedMessagesOnConsumerAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Integer> getMaxUnackedMessagesOnConsumerAsync(String topic);
/**
* get applied max unacked messages on consumer of a topic.
* @param topic
* @param applied
* @return
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#getMaxUnackedMessagesOnConsumer(String, boolean)} instead.
*/
@Deprecated
Integer getMaxUnackedMessagesOnConsumer(String topic, boolean applied) throws PulsarAdminException;
/**
* get applied max unacked messages on consumer of a topic asynchronously.
* @param topic
* @param applied
* @return
* @deprecated Use {@link TopicPolicies#getMaxUnackedMessagesOnConsumerAsync(String, boolean)} instead.
*/
@Deprecated
CompletableFuture<Integer> getMaxUnackedMessagesOnConsumerAsync(String topic, boolean applied);
/**
* set max unacked messages on consumer of a topic.
* @param topic
* @param maxNum
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#setMaxUnackedMessagesOnConsumer(String, int)} instead.
*/
@Deprecated
void setMaxUnackedMessagesOnConsumer(String topic, int maxNum) throws PulsarAdminException;
/**
* set max unacked messages on consumer of a topic asynchronously.
* @param topic
* @param maxNum
* @return
* @deprecated Use {@link TopicPolicies#setMaxUnackedMessagesOnConsumerAsync(String, int)} instead.
*/
@Deprecated
CompletableFuture<Void> setMaxUnackedMessagesOnConsumerAsync(String topic, int maxNum);
/**
* remove max unacked messages on consumer of a topic.
* @param topic
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#removeMaxUnackedMessagesOnConsumer(String)} instead.
*/
@Deprecated
void removeMaxUnackedMessagesOnConsumer(String topic) throws PulsarAdminException;
/**
* remove max unacked messages on consumer of a topic asynchronously.
* @param topic
* @return
* @deprecated Use {@link TopicPolicies#removeMaxUnackedMessagesOnConsumerAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Void> removeMaxUnackedMessagesOnConsumerAsync(String topic);
/**
* Get inactive topic policies applied for a topic.
* @param topic
* @return
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#getInactiveTopicPolicies(String, boolean)} instead.
*/
@Deprecated
InactiveTopicPolicies getInactiveTopicPolicies(String topic, boolean applied) throws PulsarAdminException;
/**
* Get inactive topic policies applied for a topic asynchronously.
* @param topic
* @param applied
* @return
* @deprecated Use {@link TopicPolicies#getInactiveTopicPoliciesAsync(String, boolean)} instead.
*/
@Deprecated
CompletableFuture<InactiveTopicPolicies> getInactiveTopicPoliciesAsync(String topic, boolean applied);
/**
* get inactive topic policies of a topic.
* @param topic
* @return
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#getInactiveTopicPolicies(String)} instead.
*/
@Deprecated
InactiveTopicPolicies getInactiveTopicPolicies(String topic) throws PulsarAdminException;
/**
* get inactive topic policies of a topic asynchronously.
* @param topic
* @return
* @deprecated Use {@link TopicPolicies#getInactiveTopicPoliciesAsync(String)} instead.
*/
@Deprecated
CompletableFuture<InactiveTopicPolicies> getInactiveTopicPoliciesAsync(String topic);
/**
* set inactive topic policies of a topic.
* @param topic
* @param inactiveTopicPolicies
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#setInactiveTopicPolicies(String, InactiveTopicPolicies)} instead.
*/
@Deprecated
void setInactiveTopicPolicies(String topic
, InactiveTopicPolicies inactiveTopicPolicies) throws PulsarAdminException;
/**
* set inactive topic policies of a topic asynchronously.
* @param topic
* @param inactiveTopicPolicies
* @return
* @deprecated Use {@link TopicPolicies#setInactiveTopicPoliciesAsync(String, InactiveTopicPolicies)} instead.
*/
@Deprecated
CompletableFuture<Void> setInactiveTopicPoliciesAsync(String topic, InactiveTopicPolicies inactiveTopicPolicies);
/**
* remove inactive topic policies of a topic.
* @param topic
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#removeInactiveTopicPolicies(String)} instead.
*/
@Deprecated
void removeInactiveTopicPolicies(String topic) throws PulsarAdminException;
/**
* remove inactive topic policies of a topic asynchronously.
* @param topic
* @return
* @deprecated Use {@link TopicPolicies#removeInactiveTopicPoliciesAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Void> removeInactiveTopicPoliciesAsync(String topic);
/**
* get offload policies of a topic.
* @param topic
* @return
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#getOffloadPolicies(String)} instead.
*/
@Deprecated
OffloadPolicies getOffloadPolicies(String topic) throws PulsarAdminException;
/**
* get offload policies of a topic asynchronously.
* @param topic
* @return
* @deprecated Use {@link TopicPolicies#getOffloadPoliciesAsync(String)} instead.
*/
@Deprecated
CompletableFuture<OffloadPolicies> getOffloadPoliciesAsync(String topic);
/**
* get applied offload policies of a topic.
* @param topic
* @return
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#getOffloadPolicies(String, boolean)} instead.
*/
@Deprecated
OffloadPolicies getOffloadPolicies(String topic, boolean applied) throws PulsarAdminException;
/**
* get applied offload policies of a topic asynchronously.
* @param topic
* @return
* @deprecated Use {@link TopicPolicies#getOffloadPoliciesAsync(String, boolean)} instead.
*/
@Deprecated
CompletableFuture<OffloadPolicies> getOffloadPoliciesAsync(String topic, boolean applied);
/**
* set offload policies of a topic.
* @param topic
* @param offloadPolicies
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#setOffloadPolicies(String, OffloadPolicies)} instead.
*/
@Deprecated
void setOffloadPolicies(String topic, OffloadPolicies offloadPolicies) throws PulsarAdminException;
/**
* set offload policies of a topic asynchronously.
* @param topic
* @param offloadPolicies
* @return
* @deprecated Use {@link TopicPolicies#setOffloadPoliciesAsync(String, OffloadPolicies)} instead.
*/
@Deprecated
CompletableFuture<Void> setOffloadPoliciesAsync(String topic, OffloadPolicies offloadPolicies);
/**
* remove offload policies of a topic.
* @param topic
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#removeOffloadPolicies(String)} instead.
*/
@Deprecated
void removeOffloadPolicies(String topic) throws PulsarAdminException;
/**
* remove offload policies of a topic asynchronously.
* @param topic
* @return
* @deprecated Use {@link TopicPolicies#removeOffloadPoliciesAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Void> removeOffloadPoliciesAsync(String topic);
/**
* get max unacked messages on subscription of a topic.
* @param topic
* @return
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#getMaxUnackedMessagesOnSubscription(String)} instead.
*/
@Deprecated
Integer getMaxUnackedMessagesOnSubscription(String topic) throws PulsarAdminException;
/**
* get max unacked messages on subscription of a topic asynchronously.
* @param topic
* @return
* @deprecated Use {@link TopicPolicies#getMaxUnackedMessagesOnSubscriptionAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Integer> getMaxUnackedMessagesOnSubscriptionAsync(String topic);
/**
* get max unacked messages on subscription of a topic.
* @param topic
* @return
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#getMaxUnackedMessagesOnSubscriptionAsync(String, boolean)} instead.
*/
@Deprecated
Integer getMaxUnackedMessagesOnSubscription(String topic, boolean applied) throws PulsarAdminException;
/**
* get max unacked messages on subscription of a topic asynchronously.
* @param topic
* @return
* @deprecated Use {@link TopicPolicies#getMaxUnackedMessagesOnSubscriptionAsync(String, boolean)} instead.
*/
@Deprecated
CompletableFuture<Integer> getMaxUnackedMessagesOnSubscriptionAsync(String topic, boolean applied);
/**
* set max unacked messages on subscription of a topic.
* @param topic
* @param maxNum
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#setMaxUnackedMessagesOnSubscription(String, int)} instead.
*/
@Deprecated
void setMaxUnackedMessagesOnSubscription(String topic, int maxNum) throws PulsarAdminException;
/**
* set max unacked messages on subscription of a topic asynchronously.
* @param topic
* @param maxNum
* @return
* @deprecated Use {@link TopicPolicies#setMaxUnackedMessagesOnSubscriptionAsync(String, int)} instead.
*/
@Deprecated
CompletableFuture<Void> setMaxUnackedMessagesOnSubscriptionAsync(String topic, int maxNum);
/**
* remove max unacked messages on subscription of a topic.
* @param topic
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#removeMaxUnackedMessagesOnSubscription(String)} instead.
*/
@Deprecated
void removeMaxUnackedMessagesOnSubscription(String topic) throws PulsarAdminException;
/**
* remove max unacked messages on subscription of a topic asynchronously.
* @param topic
* @return
* @deprecated Use {@link TopicPolicies#removeMaxUnackedMessagesOnSubscriptionAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Void> removeMaxUnackedMessagesOnSubscriptionAsync(String topic);
/**
* Set the configuration of persistence policies for specified topic.
*
* @param topic Topic name
* @param persistencePolicies Configuration of bookkeeper persistence policies
* @throws PulsarAdminException Unexpected error
* @deprecated Use {@link TopicPolicies#setPersistence(String, PersistencePolicies)} (String)} instead.
*/
@Deprecated
void setPersistence(String topic, PersistencePolicies persistencePolicies) throws PulsarAdminException;
/**
* Set the configuration of persistence policies for specified topic asynchronously.
*
* @param topic Topic name
* @param persistencePolicies Configuration of bookkeeper persistence policies
* @deprecated Use {@link TopicPolicies#setPersistenceAsync(String, PersistencePolicies)} (String)} instead.
*/
@Deprecated
CompletableFuture<Void> setPersistenceAsync(String topic, PersistencePolicies persistencePolicies);
/**
* Get the configuration of persistence policies for specified topic.
*
* @param topic Topic name
* @return Configuration of bookkeeper persistence policies
* @throws PulsarAdminException Unexpected error
* @deprecated Use {@link TopicPolicies#getPersistence(String)} instead.
*/
@Deprecated
PersistencePolicies getPersistence(String topic) throws PulsarAdminException;
/**
* Get the configuration of persistence policies for specified topic asynchronously.
*
* @param topic Topic name
* @deprecated Use {@link TopicPolicies#getPersistenceAsync(String)} instead.
*/
@Deprecated
CompletableFuture<PersistencePolicies> getPersistenceAsync(String topic);
/**
* Get the applied configuration of persistence policies for specified topic.
*
* @param topic Topic name
* @return Configuration of bookkeeper persistence policies
* @throws PulsarAdminException Unexpected error
* @deprecated Use {@link TopicPolicies#getPersistence(String, boolean)} instead.
*/
@Deprecated
PersistencePolicies getPersistence(String topic, boolean applied) throws PulsarAdminException;
/**
* Get the applied configuration of persistence policies for specified topic asynchronously.
*
* @param topic Topic name
* @deprecated Use {@link TopicPolicies#getPersistenceAsync(String, boolean)} instead.
*/
@Deprecated
CompletableFuture<PersistencePolicies> getPersistenceAsync(String topic, boolean applied);
/**
* Remove the configuration of persistence policies for specified topic.
*
* @param topic Topic name
* @throws PulsarAdminException Unexpected error
* @deprecated Use {@link TopicPolicies#removePersistence(String)} instead.
*/
@Deprecated
void removePersistence(String topic) throws PulsarAdminException;
/**
* Remove the configuration of persistence policies for specified topic asynchronously.
*
* @param topic Topic name
* @deprecated Use {@link TopicPolicies#removePersistenceAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Void> removePersistenceAsync(String topic);
/**
* get deduplication enabled of a topic.
* @param topic
* @return
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#getDeduplicationStatus(String)} instead.
*/
@Deprecated
Boolean getDeduplicationEnabled(String topic) throws PulsarAdminException;
/**
* get deduplication enabled of a topic asynchronously.
* @param topic
* @return
* @deprecated Use {@link TopicPolicies#getDeduplicationStatusAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Boolean> getDeduplicationEnabledAsync(String topic);
/**
* get deduplication enabled of a topic.
* @param topic
* @return
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#getDeduplicationStatus(String)} instead.
*/
@Deprecated
Boolean getDeduplicationStatus(String topic) throws PulsarAdminException;
/**
* get deduplication enabled of a topic asynchronously.
* @param topic
* @return
* @deprecated Use {@link TopicPolicies#getDeduplicationStatusAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Boolean> getDeduplicationStatusAsync(String topic);
/**
* get applied deduplication enabled of a topic.
* @param topic
* @return
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#getDeduplicationStatus(String, boolean)} instead.
*/
@Deprecated
Boolean getDeduplicationStatus(String topic, boolean applied) throws PulsarAdminException;
/**
* get applied deduplication enabled of a topic asynchronously.
* @param topic
* @return
* @deprecated Use {@link TopicPolicies#getDeduplicationStatusAsync(String, boolean)} instead.
*/
@Deprecated
CompletableFuture<Boolean> getDeduplicationStatusAsync(String topic, boolean applied);
/**
* set deduplication enabled of a topic.
* @param topic
* @param enabled
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#setDeduplicationStatus(String, boolean)} instead.
*/
@Deprecated
void enableDeduplication(String topic, boolean enabled) throws PulsarAdminException;
/**
* set deduplication enabled of a topic asynchronously.
* @param topic
* @param enabled
* @return
* @deprecated Use {@link TopicPolicies#setDeduplicationStatusAsync(String, boolean)} instead.
*/
@Deprecated
CompletableFuture<Void> enableDeduplicationAsync(String topic, boolean enabled);
/**
* set deduplication enabled of a topic.
* @param topic
* @param enabled
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#setDeduplicationStatus(String, boolean)} instead.
*/
@Deprecated
void setDeduplicationStatus(String topic, boolean enabled) throws PulsarAdminException;
/**
* set deduplication enabled of a topic asynchronously.
* @param topic
* @param enabled
* @return
* @deprecated Use {@link TopicPolicies#setDeduplicationStatusAsync(String, boolean)} instead.
*/
@Deprecated
CompletableFuture<Void> setDeduplicationStatusAsync(String topic, boolean enabled);
/**
* remove deduplication enabled of a topic.
* @param topic
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#removeDeduplicationStatus(String)} instead.
*/
@Deprecated
void disableDeduplication(String topic) throws PulsarAdminException;
/**
* remove deduplication enabled of a topic asynchronously.
* @param topic
* @return
* @deprecated Use {@link TopicPolicies#removeDeduplicationStatusAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Void> disableDeduplicationAsync(String topic);
/**
* remove deduplication enabled of a topic.
* @param topic
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#removeDeduplicationStatus(String)} instead.
*/
@Deprecated
void removeDeduplicationStatus(String topic) throws PulsarAdminException;
/**
* remove deduplication enabled of a topic asynchronously.
* @param topic
* @return
* @deprecated Use {@link TopicPolicies#removeDeduplicationStatusAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Void> removeDeduplicationStatusAsync(String topic);
/**
* Set message-dispatch-rate (topic can dispatch this many messages per second).
*
* @param topic
* @param dispatchRate
* number of messages per second
* @throws PulsarAdminException
* Unexpected error
* @deprecated Use {@link TopicPolicies#setDispatchRate(String, DispatchRate)} instead.
*/
@Deprecated
void setDispatchRate(String topic, DispatchRate dispatchRate) throws PulsarAdminException;
/**
* Set message-dispatch-rate asynchronously.
* <p/>
* topic can dispatch this many messages per second
*
* @param topic
* @param dispatchRate
* number of messages per second
* @deprecated Use {@link TopicPolicies#setDispatchRateAsync(String, DispatchRate)} instead.
*/
@Deprecated
CompletableFuture<Void> setDispatchRateAsync(String topic, DispatchRate dispatchRate);
/**
* Get message-dispatch-rate (topic can dispatch this many messages per second).
*
* @param topic
* @returns messageRate
* number of messages per second
* @throws PulsarAdminException
* Unexpected error
* @deprecated Use {@link TopicPolicies#getDispatchRate(String)} instead.
*/
@Deprecated
DispatchRate getDispatchRate(String topic) throws PulsarAdminException;
/**
* Get message-dispatch-rate asynchronously.
* <p/>
* Topic can dispatch this many messages per second.
*
* @param topic
* @returns messageRate
* number of messages per second
* @deprecated Use {@link TopicPolicies#getDispatchRateAsync(String)} instead.
*/
@Deprecated
CompletableFuture<DispatchRate> getDispatchRateAsync(String topic);
/**
* Get applied message-dispatch-rate (topic can dispatch this many messages per second).
*
* @param topic
* @returns messageRate
* number of messages per second
* @throws PulsarAdminException
* Unexpected error
* @deprecated Use {@link TopicPolicies#getDispatchRate(String, boolean)} instead.
*/
@Deprecated
DispatchRate getDispatchRate(String topic, boolean applied) throws PulsarAdminException;
/**
* Get applied message-dispatch-rate asynchronously.
* <p/>
* Topic can dispatch this many messages per second.
*
* @param topic
* @returns messageRate
* number of messages per second
* @deprecated Use {@link TopicPolicies#getDispatchRateAsync(String, boolean)} instead.
*/
@Deprecated
CompletableFuture<DispatchRate> getDispatchRateAsync(String topic, boolean applied);
/**
* Remove message-dispatch-rate.
* <p/>
* Remove topic message dispatch rate
*
* @param topic
* @throws PulsarAdminException
* unexpected error
* @deprecated Use {@link TopicPolicies#removeDispatchRate(String)} instead.
*/
@Deprecated
void removeDispatchRate(String topic) throws PulsarAdminException;
/**
* Remove message-dispatch-rate asynchronously.
* <p/>
* Remove topic message dispatch rate
*
* @param topic
* @throws PulsarAdminException
* unexpected error
* @deprecated Use {@link TopicPolicies#removeDispatchRateAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Void> removeDispatchRateAsync(String topic) throws PulsarAdminException;
/**
* Set subscription-message-dispatch-rate for the topic.
* <p/>
* Subscriptions under this namespace can dispatch this many messages per second
*
* @param topic
* @param dispatchRate
* number of messages per second
* @throws PulsarAdminException
* Unexpected error
* @deprecated Use {@link TopicPolicies#setSubscriptionDispatchRate(String, DispatchRate)} instead.
*/
@Deprecated
void setSubscriptionDispatchRate(String topic, DispatchRate dispatchRate) throws PulsarAdminException;
/**
* Set subscription-message-dispatch-rate for the topic asynchronously.
* <p/>
* Subscriptions under this namespace can dispatch this many messages per second.
*
* @param topic
* @param dispatchRate
* number of messages per second
* @deprecated Use {@link TopicPolicies#setSubscriptionDispatchRateAsync(String, DispatchRate)} instead.
*/
@Deprecated
CompletableFuture<Void> setSubscriptionDispatchRateAsync(String topic, DispatchRate dispatchRate);
/**
* Get applied subscription-message-dispatch-rate.
* <p/>
* Subscriptions under this namespace can dispatch this many messages per second.
*
* @param namespace
* @returns DispatchRate
* number of messages per second
* @throws PulsarAdminException
* Unexpected error
* @deprecated Use {@link TopicPolicies#getSubscriptionDispatchRate(String, boolean)} instead.
*/
@Deprecated
DispatchRate getSubscriptionDispatchRate(String namespace, boolean applied) throws PulsarAdminException;
/**
* Get applied subscription-message-dispatch-rate asynchronously.
* <p/>
* Subscriptions under this namespace can dispatch this many messages per second.
*
* @param namespace
* @returns DispatchRate
* number of messages per second
* @deprecated Use {@link TopicPolicies#getSubscriptionDispatchRateAsync(String, boolean)} instead.
*/
@Deprecated
CompletableFuture<DispatchRate> getSubscriptionDispatchRateAsync(String namespace, boolean applied);
/**
* Get subscription-message-dispatch-rate for the topic.
* <p/>
* Subscriptions under this namespace can dispatch this many messages per second.
*
* @param topic
* @returns DispatchRate
* number of messages per second
* @throws PulsarAdminException
* Unexpected error
* @deprecated Use {@link TopicPolicies#getSubscriptionDispatchRate(String)} instead.
*/
@Deprecated
DispatchRate getSubscriptionDispatchRate(String topic) throws PulsarAdminException;
/**
* Get subscription-message-dispatch-rate asynchronously.
* <p/>
* Subscriptions under this namespace can dispatch this many messages per second.
*
* @param topic
* @returns DispatchRate
* number of messages per second
* @deprecated Use {@link TopicPolicies#getSubscriptionDispatchRateAsync(String)} instead.
*/
@Deprecated
CompletableFuture<DispatchRate> getSubscriptionDispatchRateAsync(String topic);
/**
* Remove subscription-message-dispatch-rate for a topic.
* @param topic
* Topic name
* @throws PulsarAdminException
* Unexpected error
* @deprecated Use {@link TopicPolicies#removeSubscriptionDispatchRate(String)} instead.
*/
@Deprecated
void removeSubscriptionDispatchRate(String topic) throws PulsarAdminException;
/**
* Remove subscription-message-dispatch-rate for a topic asynchronously.
* @param topic
* Topic name
* @deprecated Use {@link TopicPolicies#removeSubscriptionDispatchRateAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Void> removeSubscriptionDispatchRateAsync(String topic);
/**
* Set replicatorDispatchRate for the topic.
* <p/>
* Replicator dispatch rate under this topic can dispatch this many messages per second
*
* @param topic
* @param dispatchRate
* number of messages per second
* @throws PulsarAdminException
* Unexpected error
* @deprecated Use {@link TopicPolicies#setReplicatorDispatchRate(String, DispatchRate)} instead.
*/
@Deprecated
void setReplicatorDispatchRate(String topic, DispatchRate dispatchRate) throws PulsarAdminException;
/**
* Set replicatorDispatchRate for the topic asynchronously.
* <p/>
* Replicator dispatch rate under this topic can dispatch this many messages per second.
*
* @param topic
* @param dispatchRate
* number of messages per second
* @deprecated Use {@link TopicPolicies#setReplicatorDispatchRateAsync(String, DispatchRate)} instead.
*/
@Deprecated
CompletableFuture<Void> setReplicatorDispatchRateAsync(String topic, DispatchRate dispatchRate);
/**
* Get replicatorDispatchRate for the topic.
* <p/>
* Replicator dispatch rate under this topic can dispatch this many messages per second.
*
* @param topic
* @returns DispatchRate
* number of messages per second
* @throws PulsarAdminException
* Unexpected error
* @deprecated Use {@link TopicPolicies#getReplicatorDispatchRate(String)} instead.
*/
@Deprecated
DispatchRate getReplicatorDispatchRate(String topic) throws PulsarAdminException;
/**
* Get replicatorDispatchRate asynchronously.
* <p/>
* Replicator dispatch rate under this topic can dispatch this many messages per second.
*
* @param topic
* @returns DispatchRate
* number of messages per second
* @deprecated Use {@link TopicPolicies#getReplicatorDispatchRateAsync(String)} instead.
*/
@Deprecated
CompletableFuture<DispatchRate> getReplicatorDispatchRateAsync(String topic);
/**
* Get applied replicatorDispatchRate for the topic.
* @param topic
* @param applied
* @return
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#getReplicatorDispatchRate(String, boolean)} instead.
*/
@Deprecated
DispatchRate getReplicatorDispatchRate(String topic, boolean applied) throws PulsarAdminException;
/**
* Get applied replicatorDispatchRate asynchronously.
* @param topic
* @param applied
* @return
* @deprecated Use {@link TopicPolicies#getReplicatorDispatchRateAsync(String, boolean)} instead.
*/
@Deprecated
CompletableFuture<DispatchRate> getReplicatorDispatchRateAsync(String topic, boolean applied);
/**
* Remove replicatorDispatchRate for a topic.
* @param topic
* Topic name
* @throws PulsarAdminException
* Unexpected error
* @deprecated Use {@link TopicPolicies#removeReplicatorDispatchRate(String)} instead.
*/
@Deprecated
void removeReplicatorDispatchRate(String topic) throws PulsarAdminException;
/**
* Remove replicatorDispatchRate for a topic asynchronously.
* @param topic
* Topic name
* @deprecated Use {@link TopicPolicies#removeReplicatorDispatchRateAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Void> removeReplicatorDispatchRateAsync(String topic);
/**
* Get the compactionThreshold for a topic. The maximum number of bytes
* can have before compaction is triggered. 0 disables.
* <p/>
* Response example:
*
* <pre>
* <code>10000000</code>
* </pre>
*
* @param topic
* Topic name
*
* @throws NotAuthorizedException
* Don't have admin permission
* @throws NotFoundException
* Namespace does not exist
* @throws PulsarAdminException
* Unexpected error
* @deprecated Use {@link TopicPolicies#getCompactionThreshold(String)} instead.
*/
@Deprecated
Long getCompactionThreshold(String topic) throws PulsarAdminException;
/**
* Get the compactionThreshold for a topic asynchronously. The maximum number of bytes
* can have before compaction is triggered. 0 disables.
* <p/>
* Response example:
*
* <pre>
* <code>10000000</code>
* </pre>
*
* @param topic
* Topic name
* @deprecated Use {@link TopicPolicies#getCompactionThresholdAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Long> getCompactionThresholdAsync(String topic);
/**
* Get the compactionThreshold for a topic. The maximum number of bytes
* can have before compaction is triggered. 0 disables.
* @param topic Topic name
* @throws NotAuthorizedException Don't have admin permission
* @throws NotFoundException Namespace does not exist
* @throws PulsarAdminException Unexpected error
* @deprecated Use {@link TopicPolicies#getCompactionThreshold(String, boolean)} instead.
*/
@Deprecated
Long getCompactionThreshold(String topic, boolean applied) throws PulsarAdminException;
/**
* Get the compactionThreshold for a topic asynchronously. The maximum number of bytes
* can have before compaction is triggered. 0 disables.
* @param topic Topic name
* @deprecated Use {@link TopicPolicies#getCompactionThreshold(String, boolean)} instead.
*/
@Deprecated
CompletableFuture<Long> getCompactionThresholdAsync(String topic, boolean applied);
/**
* Set the compactionThreshold for a topic. The maximum number of bytes
* can have before compaction is triggered. 0 disables.
* <p/>
* Request example:
*
* <pre>
* <code>10000000</code>
* </pre>
*
* @param topic
* Topic name
* @param compactionThreshold
* maximum number of backlog bytes before compaction is triggered
*
* @throws NotAuthorizedException
* Don't have admin permission
* @throws NotFoundException
* Namespace does not exist
* @throws PulsarAdminException
* Unexpected error
* @deprecated Use {@link TopicPolicies#setCompactionThreshold(String, long)} instead.
*/
@Deprecated
void setCompactionThreshold(String topic, long compactionThreshold) throws PulsarAdminException;
/**
* Set the compactionThreshold for a topic asynchronously. The maximum number of bytes
* can have before compaction is triggered. 0 disables.
* <p/>
* Request example:
*
* <pre>
* <code>10000000</code>
* </pre>
*
* @param topic
* Topic name
* @param compactionThreshold
* maximum number of backlog bytes before compaction is triggered
* @deprecated Use {@link TopicPolicies#setCompactionThresholdAsync(String, long)} instead.
*/
@Deprecated
CompletableFuture<Void> setCompactionThresholdAsync(String topic, long compactionThreshold);
/**
* Remove the compactionThreshold for a topic.
* @param topic
* Topic name
* @throws PulsarAdminException
* Unexpected error
* @deprecated Use {@link TopicPolicies#removeCompactionThreshold(String)} instead.
*/
@Deprecated
void removeCompactionThreshold(String topic) throws PulsarAdminException;
/**
* Remove the compactionThreshold for a topic asynchronously.
* @param topic
* Topic name
* @deprecated Use {@link TopicPolicies#removeCompactionThresholdAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Void> removeCompactionThresholdAsync(String topic);
/**
* Set message-publish-rate (topics can publish this many messages per second).
*
* @param topic
* @param publishMsgRate
* number of messages per second
* @throws PulsarAdminException
* Unexpected error
* @deprecated Use {@link TopicPolicies#setPublishRate(String, PublishRate)} instead.
*/
@Deprecated
void setPublishRate(String topic, PublishRate publishMsgRate) throws PulsarAdminException;
/**
* Set message-publish-rate (topics can publish this many messages per second) asynchronously.
*
* @param topic
* @param publishMsgRate
* number of messages per second
* @deprecated Use {@link TopicPolicies#setPublishRateAsync(String, PublishRate)} instead.
*/
@Deprecated
CompletableFuture<Void> setPublishRateAsync(String topic, PublishRate publishMsgRate);
/**
* Get message-publish-rate (topics can publish this many messages per second).
*
* @param topic
* @return number of messages per second
* @throws PulsarAdminException Unexpected error
* @deprecated Use {@link TopicPolicies#getPublishRate(String)} instead.
*/
@Deprecated
PublishRate getPublishRate(String topic) throws PulsarAdminException;
/**
* Get message-publish-rate (topics can publish this many messages per second) asynchronously.
*
* @param topic
* @return number of messages per second
* @deprecated Use {@link TopicPolicies#getPublishRateAsync(String)} instead.
*/
@Deprecated
CompletableFuture<PublishRate> getPublishRateAsync(String topic);
/**
* Remove message-publish-rate.
* <p/>
* Remove topic message publish rate
*
* @param topic
* @throws PulsarAdminException
* unexpected error
* @deprecated Use {@link TopicPolicies#removePublishRate(String)} instead.
*/
@Deprecated
void removePublishRate(String topic) throws PulsarAdminException;
/**
* Remove message-publish-rate asynchronously.
* <p/>
* Remove topic message publish rate
*
* @param topic
* @throws PulsarAdminException
* unexpected error
* @deprecated Use {@link TopicPolicies#removePublishRateAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Void> removePublishRateAsync(String topic) throws PulsarAdminException;
/**
* Get the maxConsumersPerSubscription for a topic.
* <p/>
* Response example:
*
* <pre>
* <code>0</code>
* </pre>
*
* @param topic
* Topic name
*
* @throws NotAuthorizedException
* Don't have admin permission
* @throws NotFoundException
* Namespace does not exist
* @throws PulsarAdminException
* Unexpected error
* @deprecated Use {@link TopicPolicies#getMaxConsumersPerSubscription(String)} instead.
*/
@Deprecated
Integer getMaxConsumersPerSubscription(String topic) throws PulsarAdminException;
/**
* Get the maxConsumersPerSubscription for a topic asynchronously.
* <p/>
* Response example:
*
* <pre>
* <code>0</code>
* </pre>
*
* @param topic
* Topic name
* @deprecated Use {@link TopicPolicies#getMaxConsumersPerSubscriptionAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Integer> getMaxConsumersPerSubscriptionAsync(String topic);
/**
* Set maxConsumersPerSubscription for a topic.
* <p/>
* Request example:
*
* <pre>
* <code>10</code>
* </pre>
*
* @param topic
* Topic name
* @param maxConsumersPerSubscription
* maxConsumersPerSubscription value for a namespace
*
* @throws NotAuthorizedException
* Don't have admin permission
* @throws NotFoundException
* Namespace does not exist
* @throws PulsarAdminException
* Unexpected error
* @deprecated Use {@link TopicPolicies#setMaxConsumersPerSubscription(String, int)} instead.
*/
@Deprecated
void setMaxConsumersPerSubscription(String topic, int maxConsumersPerSubscription) throws PulsarAdminException;
/**
* Set maxConsumersPerSubscription for a topic asynchronously.
* <p/>
* Request example:
*
* <pre>
* <code>10</code>
* </pre>
*
* @param topic
* Topic name
* @param maxConsumersPerSubscription
* maxConsumersPerSubscription value for a namespace
* @deprecated Use {@link TopicPolicies#setMaxConsumersPerSubscriptionAsync(String, int)} instead.
*/
@Deprecated
CompletableFuture<Void> setMaxConsumersPerSubscriptionAsync(String topic, int maxConsumersPerSubscription);
/**
* Remove the maxConsumersPerSubscription for a topic.
* @param topic
* Topic name
* @throws PulsarAdminException
* Unexpected error
* @deprecated Use {@link TopicPolicies#removeMaxConsumersPerSubscription(String)} instead.
*/
@Deprecated
void removeMaxConsumersPerSubscription(String topic) throws PulsarAdminException;
/**
* Remove the maxConsumersPerSubscription for a topic asynchronously.
* @param topic
* Topic name
* @deprecated Use {@link TopicPolicies#removeMaxConsumersPerSubscriptionAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Void> removeMaxConsumersPerSubscriptionAsync(String topic);
/**
* Get the max number of producer for specified topic.
*
* @param topic Topic name
* @return Configuration of bookkeeper persistence policies
* @throws PulsarAdminException Unexpected error
* @deprecated Use {@link TopicPolicies#getMaxProducers(String)} instead.
*/
@Deprecated
Integer getMaxProducers(String topic) throws PulsarAdminException;
/**
* Get the max number of producer for specified topic asynchronously.
*
* @param topic Topic name
* @return Configuration of bookkeeper persistence policies
* @throws PulsarAdminException Unexpected error
* @deprecated Use {@link TopicPolicies#getMaxProducersAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Integer> getMaxProducersAsync(String topic);
/**
* Get the max number of producer applied for specified topic.
* @param topic
* @param applied
* @return
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#getMaxProducers(String, boolean)} instead.
*/
@Deprecated
Integer getMaxProducers(String topic, boolean applied) throws PulsarAdminException;
/**
* Get the max number of producer applied for specified topic asynchronously.
* @param topic
* @param applied
* @return
* @deprecated Use {@link TopicPolicies#getMaxProducersAsync(String, boolean)} instead.
*/
@Deprecated
CompletableFuture<Integer> getMaxProducersAsync(String topic, boolean applied);
/**
* Set the max number of producer for specified topic.
*
* @param topic Topic name
* @param maxProducers Max number of producer
* @throws PulsarAdminException Unexpected error
* @deprecated Use {@link TopicPolicies#setMaxProducers(String, int)} instead.
*/
@Deprecated
void setMaxProducers(String topic, int maxProducers) throws PulsarAdminException;
/**
* Set the max number of producer for specified topic asynchronously.
*
* @param topic Topic name
* @param maxProducers Max number of producer
* @throws PulsarAdminException Unexpected error
* @deprecated Use {@link TopicPolicies#setMaxProducersAsync(String, int)} instead.
*/
@Deprecated
CompletableFuture<Void> setMaxProducersAsync(String topic, int maxProducers);
/**
* Remove the max number of producer for specified topic.
*
* @param topic Topic name
* @throws PulsarAdminException Unexpected error
* @deprecated Use {@link TopicPolicies#removeMaxProducers(String)} instead.
*/
@Deprecated
void removeMaxProducers(String topic) throws PulsarAdminException;
/**
* Remove the max number of producer for specified topic asynchronously.
*
* @param topic Topic name
* @deprecated Use {@link TopicPolicies#removeMaxProducersAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Void> removeMaxProducersAsync(String topic);
/**
* Get the max number of subscriptions for specified topic.
*
* @param topic Topic name
* @return Configuration of bookkeeper persistence policies
* @throws PulsarAdminException Unexpected error
* @deprecated Use {@link TopicPolicies#getMaxSubscriptionsPerTopic(String)} instead.
*/
@Deprecated
Integer getMaxSubscriptionsPerTopic(String topic) throws PulsarAdminException;
/**
* Get the max number of subscriptions for specified topic asynchronously.
*
* @param topic Topic name
* @return Configuration of bookkeeper persistence policies
* @throws PulsarAdminException Unexpected error
* @deprecated Use {@link TopicPolicies#getMaxSubscriptionsPerTopicAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Integer> getMaxSubscriptionsPerTopicAsync(String topic);
/**
* Set the max number of subscriptions for specified topic.
*
* @param topic Topic name
* @param maxSubscriptionsPerTopic Max number of subscriptions
* @throws PulsarAdminException Unexpected error
* @deprecated Use {@link TopicPolicies#setMaxSubscriptionsPerTopic(String, int)} instead.
*/
@Deprecated
void setMaxSubscriptionsPerTopic(String topic, int maxSubscriptionsPerTopic) throws PulsarAdminException;
/**
* Set the max number of subscriptions for specified topic asynchronously.
*
* @param topic Topic name
* @param maxSubscriptionsPerTopic Max number of subscriptions
* @throws PulsarAdminException Unexpected error
* @deprecated Use {@link TopicPolicies#setMaxSubscriptionsPerTopicAsync(String, int)} instead.
*/
@Deprecated
CompletableFuture<Void> setMaxSubscriptionsPerTopicAsync(String topic, int maxSubscriptionsPerTopic);
/**
* Remove the max number of subscriptions for specified topic.
*
* @param topic Topic name
* @throws PulsarAdminException Unexpected error
* @deprecated Use {@link TopicPolicies#removeMaxSubscriptionsPerTopic(String)} instead.
*/
@Deprecated
void removeMaxSubscriptionsPerTopic(String topic) throws PulsarAdminException;
/**
* Remove the max number of subscriptions for specified topic asynchronously.
*
* @param topic Topic name
* @deprecated Use {@link TopicPolicies#removeMaxSubscriptionsPerTopicAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Void> removeMaxSubscriptionsPerTopicAsync(String topic);
/**
* Get the max message size for specified topic.
*
* @param topic Topic name
* @return Configuration of bookkeeper persistence policies
* @throws PulsarAdminException Unexpected error
* @deprecated Use {@link TopicPolicies#getMaxMessageSize(String)} instead.
*/
@Deprecated
Integer getMaxMessageSize(String topic) throws PulsarAdminException;
/**
* Get the max message size for specified topic asynchronously.
*
* @param topic Topic name
* @return Configuration of bookkeeper persistence policies
* @throws PulsarAdminException Unexpected error
* @deprecated Use {@link TopicPolicies#getMaxMessageSizeAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Integer> getMaxMessageSizeAsync(String topic);
/**
* Set the max message size for specified topic.
*
* @param topic Topic name
* @param maxMessageSize Max message size of producer
* @throws PulsarAdminException Unexpected error
* @deprecated Use {@link TopicPolicies#setMaxMessageSize(String, int)} instead.
*/
@Deprecated
void setMaxMessageSize(String topic, int maxMessageSize) throws PulsarAdminException;
/**
* Set the max message size for specified topic asynchronously.0 disables.
*
* @param topic Topic name
* @param maxMessageSize Max message size of topic
* @throws PulsarAdminException Unexpected error
* @deprecated Use {@link TopicPolicies#setMaxMessageSizeAsync(String, int)} instead.
*/
@Deprecated
CompletableFuture<Void> setMaxMessageSizeAsync(String topic, int maxMessageSize);
/**
* Remove the max message size for specified topic.
*
* @param topic Topic name
* @throws PulsarAdminException Unexpected error
* @deprecated Use {@link TopicPolicies#removeMaxMessageSize(String)} instead.
*/
@Deprecated
void removeMaxMessageSize(String topic) throws PulsarAdminException;
/**
* Remove the max message size for specified topic asynchronously.
*
* @param topic Topic name
* @deprecated Use {@link TopicPolicies#removeMaxMessageSizeAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Void> removeMaxMessageSizeAsync(String topic);
/**
* Get the max number of consumer for specified topic.
*
* @param topic Topic name
* @return Configuration of bookkeeper persistence policies
* @throws PulsarAdminException Unexpected error
* @deprecated Use {@link TopicPolicies#getMaxConsumers(String)} instead.
*/
@Deprecated
Integer getMaxConsumers(String topic) throws PulsarAdminException;
/**
* Get the max number of consumer for specified topic asynchronously.
*
* @param topic Topic name
* @return Configuration of bookkeeper persistence policies
* @throws PulsarAdminException Unexpected error
* @deprecated Use {@link TopicPolicies#getMaxConsumersAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Integer> getMaxConsumersAsync(String topic);
/**
* Get the max number of consumer applied for specified topic.
* @param topic
* @param applied
* @return
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#getMaxConsumers(String, boolean)} instead.
*/
@Deprecated
Integer getMaxConsumers(String topic, boolean applied) throws PulsarAdminException;
/**
* Get the max number of consumer applied for specified topic asynchronously.
* @param topic
* @param applied
* @return
* @deprecated Use {@link TopicPolicies#getMaxConsumersAsync(String, boolean)} instead.
*/
@Deprecated
CompletableFuture<Integer> getMaxConsumersAsync(String topic, boolean applied);
/**
* Set the max number of consumer for specified topic.
*
* @param topic Topic name
* @param maxConsumers Max number of consumer
* @throws PulsarAdminException Unexpected error
* @deprecated Use {@link TopicPolicies#setMaxConsumers(String, int)} instead.
*/
@Deprecated
void setMaxConsumers(String topic, int maxConsumers) throws PulsarAdminException;
/**
* Set the max number of consumer for specified topic asynchronously.
*
* @param topic Topic name
* @param maxConsumers Max number of consumer
* @throws PulsarAdminException Unexpected error
* @deprecated Use {@link TopicPolicies#setMaxConsumers(String, int)} instead.
*/
@Deprecated
CompletableFuture<Void> setMaxConsumersAsync(String topic, int maxConsumers);
/**
* Remove the max number of consumer for specified topic.
*
* @param topic Topic name
* @throws PulsarAdminException Unexpected error
* @deprecated Use {@link TopicPolicies#removeMaxConsumers(String)} instead.
*/
@Deprecated
void removeMaxConsumers(String topic) throws PulsarAdminException;
/**
* Remove the max number of consumer for specified topic asynchronously.
*
* @param topic Topic name
* @deprecated Use {@link TopicPolicies#removeMaxConsumersAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Void> removeMaxConsumersAsync(String topic);
/**
* Get the deduplication snapshot interval for specified topic.
* @param topic
* @return
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#getDeduplicationSnapshotInterval(String)} instead.
*/
@Deprecated
Integer getDeduplicationSnapshotInterval(String topic) throws PulsarAdminException;
/**
* Get the deduplication snapshot interval for specified topic asynchronously.
* @param topic
* @return
* @deprecated Use {@link TopicPolicies#getDeduplicationSnapshotIntervalAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Integer> getDeduplicationSnapshotIntervalAsync(String topic);
/**
* Set the deduplication snapshot interval for specified topic.
* @param topic
* @param interval
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#setDeduplicationSnapshotInterval(String, int)} instead.
*/
@Deprecated
void setDeduplicationSnapshotInterval(String topic, int interval) throws PulsarAdminException;
/**
* Set the deduplication snapshot interval for specified topic asynchronously.
* @param topic
* @param interval
* @return
* @deprecated Use {@link TopicPolicies#setDeduplicationSnapshotIntervalAsync(String, int)} instead.
*/
@Deprecated
CompletableFuture<Void> setDeduplicationSnapshotIntervalAsync(String topic, int interval);
/**
* Remove the deduplication snapshot interval for specified topic.
* @param topic
* @throws PulsarAdminException
* @deprecated Use {@link TopicPolicies#removeDeduplicationSnapshotInterval(String)} instead.
*/
@Deprecated
void removeDeduplicationSnapshotInterval(String topic) throws PulsarAdminException;
/**
* Remove the deduplication snapshot interval for specified topic asynchronously.
* @param topic
* @return
* @deprecated Use {@link TopicPolicies#removeDeduplicationSnapshotIntervalAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Void> removeDeduplicationSnapshotIntervalAsync(String topic);
/**
* Set is enable sub types.
*
* @param topic
* @param subscriptionTypesEnabled
* is enable subTypes
* @throws PulsarAdminException
* Unexpected error
* @deprecated Use {@link TopicPolicies#setSubscriptionTypesEnabled(String, Set)} instead.
*/
@Deprecated
void setSubscriptionTypesEnabled(String topic,
Set<SubscriptionType> subscriptionTypesEnabled) throws PulsarAdminException;
/**
* Set is enable sub types asynchronously.
*
* @param topic
* @param subscriptionTypesEnabled
* is enable subTypes
* @deprecated Use {@link TopicPolicies#setSubscriptionTypesEnabledAsync(String, Set)} instead.
*/
@Deprecated
CompletableFuture<Void> setSubscriptionTypesEnabledAsync(String topic,
Set<SubscriptionType> subscriptionTypesEnabled);
/**
* Get is enable sub types.
*
* @param topic
* is topic for get is enable sub types
* @return set of enable sub types {@link Set<SubscriptionType>}
* @throws PulsarAdminException
* Unexpected error
* @deprecated Use {@link TopicPolicies#getSubscriptionTypesEnabled(String)} instead.
*/
@Deprecated
Set<SubscriptionType> getSubscriptionTypesEnabled(String topic) throws PulsarAdminException;
/**
* Get is enable sub types asynchronously.
*
* @param topic
* is topic for get is enable sub types
* @deprecated Use {@link TopicPolicies#getSubscriptionTypesEnabledAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Set<SubscriptionType>> getSubscriptionTypesEnabledAsync(String topic);
/**
* Remove subscription types enabled for a topic.
*
* @param topic Topic name
* @throws PulsarAdminException Unexpected error
* @deprecated Use {@link TopicPolicies#removeSubscriptionTypesEnabled(String)} instead.
*/
@Deprecated
void removeSubscriptionTypesEnabled(String topic) throws PulsarAdminException;
/**
* Remove subscription types enabled for a topic asynchronously.
*
* @param topic Topic name
* @deprecated Use {@link TopicPolicies#removeSubscriptionTypesEnabledAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Void> removeSubscriptionTypesEnabledAsync(String topic);
/**
* Set topic-subscribe-rate (topic will limit by subscribeRate).
*
* @param topic
* @param subscribeRate
* consumer subscribe limit by this subscribeRate
* @throws PulsarAdminException
* Unexpected error
* @deprecated Use {@link TopicPolicies#setSubscribeRate(String, SubscribeRate)} instead.
*/
@Deprecated
void setSubscribeRate(String topic, SubscribeRate subscribeRate) throws PulsarAdminException;
/**
* Set topic-subscribe-rate (topics will limit by subscribeRate) asynchronously.
*
* @param topic
* @param subscribeRate
* consumer subscribe limit by this subscribeRate
* @deprecated Use {@link TopicPolicies#setSubscribeRateAsync(String, SubscribeRate)} instead.
*/
@Deprecated
CompletableFuture<Void> setSubscribeRateAsync(String topic, SubscribeRate subscribeRate);
/**
* Get topic-subscribe-rate (topics allow subscribe times per consumer in a period).
*
* @param topic
* @returns subscribeRate
* @throws PulsarAdminException
* Unexpected error
* @deprecated Use {@link TopicPolicies#getSubscribeRate(String)} instead.
*/
@Deprecated
SubscribeRate getSubscribeRate(String topic) throws PulsarAdminException;
/**
* Get topic-subscribe-rate asynchronously.
* <p/>
* Topic allow subscribe times per consumer in a period.
*
* @param topic
* @returns subscribeRate
* @deprecated Use {@link TopicPolicies#getSubscribeRateAsync(String)} instead.
*/
@Deprecated
CompletableFuture<SubscribeRate> getSubscribeRateAsync(String topic);
/**
* Get applied topic-subscribe-rate (topics allow subscribe times per consumer in a period).
*
* @param topic
* @returns subscribeRate
* @throws PulsarAdminException
* Unexpected error
* @deprecated Use {@link TopicPolicies#getSubscribeRate(String, boolean)} instead.
*/
@Deprecated
SubscribeRate getSubscribeRate(String topic, boolean applied) throws PulsarAdminException;
/**
* Get applied topic-subscribe-rate asynchronously.
*
* @param topic
* @returns subscribeRate
* @deprecated Use {@link TopicPolicies#getSubscribeRateAsync(String, boolean)} instead.
*/
@Deprecated
CompletableFuture<SubscribeRate> getSubscribeRateAsync(String topic, boolean applied);
/**
* Remove topic-subscribe-rate.
* <p/>
* Remove topic subscribe rate
*
* @param topic
* @throws PulsarAdminException
* unexpected error
* @deprecated Use {@link TopicPolicies#removeSubscribeRate(String)} instead.
*/
@Deprecated
void removeSubscribeRate(String topic) throws PulsarAdminException;
/**
* Remove topic-subscribe-rate asynchronously.
* <p/>
* Remove topic subscribe rate
*
* @param topic
* @throws PulsarAdminException
* unexpected error
* @deprecated Use {@link TopicPolicies#removeSubscribeRateAsync(String)} instead.
*/
@Deprecated
CompletableFuture<Void> removeSubscribeRateAsync(String topic) throws PulsarAdminException;
/**
* Examine a specific message on a topic by position relative to the earliest or the latest message.
*
* @param topic Topic name
* @param initialPosition Relative start position to examine message. It can be 'latest' or 'earliest'
* @param messagePosition The position of messages (default 1)
*/
Message<byte[]> examineMessage(String topic, String initialPosition, long messagePosition)
throws PulsarAdminException;
/**
* Examine a specific message on a topic by position relative to the earliest or the latest message.
*
* @param topic Topic name
* @param initialPosition Relative start position to examine message. It can be 'latest' or 'earliest'
* @param messagePosition The position of messages (default 1)
*/
CompletableFuture<Message<byte[]>> examineMessageAsync(String topic, String initialPosition, long messagePosition)
throws PulsarAdminException;
/**
* Truncate a topic.
* <p/>
*
* @param topic
* topic name
*
* @throws NotAuthorizedException
* Don't have admin permission
* @throws PulsarAdminException
* Unexpected error
*/
void truncate(String topic) throws PulsarAdminException;
/**
* Truncate a topic asynchronously.
* <p/>
* The latest ledger cannot be deleted.
* <p/>
*
* @param topic
* topic name
*
* @return a future that can be used to track when the topic is truncated
*/
CompletableFuture<Void> truncateAsync(String topic);
/**
* Enable or disable a replicated subscription on a topic.
*
* @param topic
* @param subName
* @param enabled
* @throws PulsarAdminException
*/
void setReplicatedSubscriptionStatus(String topic, String subName, boolean enabled) throws PulsarAdminException;
/**
* Enable or disable a replicated subscription on a topic asynchronously.
*
* @param topic
* @param subName
* @param enabled
* @return
*/
CompletableFuture<Void> setReplicatedSubscriptionStatusAsync(String topic, String subName, boolean enabled);
/**
* Get the replication clusters for a topic.
*
* @param topic
* @param applied
* @return
* @throws PulsarAdminException
*/
Set<String> getReplicationClusters(String topic, boolean applied) throws PulsarAdminException;
/**
* Get the replication clusters for a topic asynchronously.
*
* @param topic
* @param applied
* @return
* @throws PulsarAdminException
*/
CompletableFuture<Set<String>> getReplicationClustersAsync(String topic, boolean applied);
/**
* Set the replication clusters for the topic.
*
* @param topic
* @param clusterIds
* @return
* @throws PulsarAdminException
*/
void setReplicationClusters(String topic, List<String> clusterIds) throws PulsarAdminException;
/**
* Set the replication clusters for the topic asynchronously.
*
* @param topic
* @param clusterIds
* @return
* @throws PulsarAdminException
*/
CompletableFuture<Void> setReplicationClustersAsync(String topic, List<String> clusterIds);
/**
* Remove the replication clusters for the topic.
*
* @param topic
* @return
* @throws PulsarAdminException
*/
void removeReplicationClusters(String topic) throws PulsarAdminException;
/**
* Remove the replication clusters for the topic asynchronously.
*
* @param topic
* @return
* @throws PulsarAdminException
*/
CompletableFuture<Void> removeReplicationClustersAsync(String topic);
/**
* Get replicated subscription status on a topic.
*
* @param topic topic name
* @param subName subscription name
* @return a map of replicated subscription status on a topic
*
* @throws NotAuthorizedException
* Don't have admin permission
* @throws NotFoundException
* Topic does not exist
* @throws PulsarAdminException
* Unexpected error
*/
Map<String, Boolean> getReplicatedSubscriptionStatus(String topic, String subName) throws PulsarAdminException;
/**
* Get replicated subscription status on a topic asynchronously.
*
* @param topic topic name
* @return a map of replicated subscription status on a topic
*/
CompletableFuture<Map<String, Boolean>> getReplicatedSubscriptionStatusAsync(String topic, String subName);
/**
* Get schema validation enforced for a topic.
*
* @param topic topic name
* @return whether the schema validation enforced is set or not
*/
boolean getSchemaValidationEnforced(String topic, boolean applied) throws PulsarAdminException;
/**
* Get schema validation enforced for a topic.
*
* @param topic topic name
*/
void setSchemaValidationEnforced(String topic, boolean enable) throws PulsarAdminException;
/**
* Get schema validation enforced for a topic asynchronously.
*
* @param topic topic name
* @return whether the schema validation enforced is set or not
*/
CompletableFuture<Boolean> getSchemaValidationEnforcedAsync(String topic, boolean applied);
/**
* Get schema validation enforced for a topic asynchronously.
*
* @param topic topic name
*/
CompletableFuture<Void> setSchemaValidationEnforcedAsync(String topic, boolean enable);
/**
* Set shadow topic list for a source topic.
*
* @param sourceTopic source topic name
* @param shadowTopics list of shadow topic name
*/
void setShadowTopics(String sourceTopic, List<String> shadowTopics) throws PulsarAdminException;
/**
* Remove all shadow topics for a source topic.
*
* @param sourceTopic source topic name
*/
void removeShadowTopics(String sourceTopic) throws PulsarAdminException;
/**
* Get shadow topic list of the source topic.
*
* @param sourceTopic source topic name
* @return shadow topic list
*/
List<String> getShadowTopics(String sourceTopic) throws PulsarAdminException;
/**
* Set shadow topic list for a source topic asynchronously.
*
* @param sourceTopic source topic name
*/
CompletableFuture<Void> setShadowTopicsAsync(String sourceTopic, List<String> shadowTopics);
/**
* Remove all shadow topics for a source topic asynchronously.
*
* @param sourceTopic source topic name
*/
CompletableFuture<Void> removeShadowTopicsAsync(String sourceTopic);
/**
* Get shadow topic list of the source topic asynchronously.
*
* @param sourceTopic source topic name
*/
CompletableFuture<List<String>> getShadowTopicsAsync(String sourceTopic);
/**
* Get the shadow source topic name of the given shadow topic.
* @param shadowTopic shadow topic name.
* @return The topic name of the source of the shadow topic.
*/
String getShadowSource(String shadowTopic) throws PulsarAdminException;
/**
* Get the shadow source topic name of the given shadow topic asynchronously.
* @param shadowTopic shadow topic name.
* @return The topic name of the source of the shadow topic.
*/
CompletableFuture<String> getShadowSourceAsync(String shadowTopic);
/**
* Create a new shadow topic as the shadow of the source topic.
* The source topic must exist before call this method.
* <p>
* For partitioned source topic, the partition number of shadow topic follows the source topic at creation. If
* the partition number of the source topic changes, the shadow topic needs to update its partition number
* manually.
* For non-partitioned source topic, the shadow topic will be created as non-partitioned topic.
* </p>
*
* NOTE: This is still WIP until <a href="https://github.com/apache/pulsar/issues/16153">PIP-180</a> is finished.
*
* @param shadowTopic shadow topic name, and it must be a persistent topic name.
* @param sourceTopic source topic name, and it must be a persistent topic name.
* @param properties properties to be created with in the shadow topic.
* @throws PulsarAdminException
*/
void createShadowTopic(String shadowTopic, String sourceTopic, Map<String, String> properties)
throws PulsarAdminException;
/**
* Create a new shadow topic, see #{@link #createShadowTopic(String, String, Map)} for details.
*/
CompletableFuture<Void> createShadowTopicAsync(String shadowTopic, String sourceTopic,
Map<String, String> properties);
/**
* Create a new shadow topic, see #{@link #createShadowTopic(String, String, Map)} for details.
*/
default void createShadowTopic(String shadowTopic, String sourceTopic) throws PulsarAdminException {
createShadowTopic(shadowTopic, sourceTopic, null);
}