Interface TopicPoliciesService

    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      java.util.concurrent.CompletableFuture<java.lang.Void> addOwnedNamespaceBundleAsync​(NamespaceBundle namespaceBundle)
      Add owned namespace bundle async.
      java.util.concurrent.CompletableFuture<java.lang.Void> deleteTopicPoliciesAsync​(org.apache.pulsar.common.naming.TopicName topicName)
      Delete policies for a topic async.
      org.apache.pulsar.common.policies.data.TopicPolicies getTopicPolicies​(org.apache.pulsar.common.naming.TopicName topicName)
      Get policies for a topic async.
      org.apache.pulsar.common.policies.data.TopicPolicies getTopicPolicies​(org.apache.pulsar.common.naming.TopicName topicName, boolean isGlobal)
      Get global policies for a topic async.
      default java.util.concurrent.CompletableFuture<java.util.Optional<org.apache.pulsar.common.policies.data.TopicPolicies>> getTopicPoliciesAsyncWithRetry​(org.apache.pulsar.common.naming.TopicName topicName, org.apache.pulsar.client.impl.Backoff backoff, java.util.concurrent.ScheduledExecutorService scheduledExecutorService, boolean isGlobal)
      When getting TopicPolicies, if the initialization has not been completed, we will go back off and try again until time out.
      java.util.concurrent.CompletableFuture<org.apache.pulsar.common.policies.data.TopicPolicies> getTopicPoliciesBypassCacheAsync​(org.apache.pulsar.common.naming.TopicName topicName)
      Get policies for a topic without cache async.
      org.apache.pulsar.common.policies.data.TopicPolicies getTopicPoliciesIfExists​(org.apache.pulsar.common.naming.TopicName topicName)
      Get policies from current cache.
      void registerListener​(org.apache.pulsar.common.naming.TopicName topicName, TopicPolicyListener<org.apache.pulsar.common.policies.data.TopicPolicies> listener)  
      java.util.concurrent.CompletableFuture<java.lang.Void> removeOwnedNamespaceBundleAsync​(NamespaceBundle namespaceBundle)
      Remove owned namespace bundle async.
      void start()
      Start the topic policy service.
      void unregisterListener​(org.apache.pulsar.common.naming.TopicName topicName, TopicPolicyListener<org.apache.pulsar.common.policies.data.TopicPolicies> listener)  
      java.util.concurrent.CompletableFuture<java.lang.Void> updateTopicPoliciesAsync​(org.apache.pulsar.common.naming.TopicName topicName, org.apache.pulsar.common.policies.data.TopicPolicies policies)
      Update policies for a topic async.
    • Method Detail

      • deleteTopicPoliciesAsync

        java.util.concurrent.CompletableFuture<java.lang.Void> deleteTopicPoliciesAsync​(org.apache.pulsar.common.naming.TopicName topicName)
        Delete policies for a topic async.
        Parameters:
        topicName - topic name
      • updateTopicPoliciesAsync

        java.util.concurrent.CompletableFuture<java.lang.Void> updateTopicPoliciesAsync​(org.apache.pulsar.common.naming.TopicName topicName,
                                                                                        org.apache.pulsar.common.policies.data.TopicPolicies policies)
        Update policies for a topic async.
        Parameters:
        topicName - topic name
        policies - policies for the topic name
      • getTopicPoliciesIfExists

        org.apache.pulsar.common.policies.data.TopicPolicies getTopicPoliciesIfExists​(org.apache.pulsar.common.naming.TopicName topicName)
        Get policies from current cache.
        Parameters:
        topicName - topic name
        Returns:
        the topic policies
      • getTopicPoliciesAsyncWithRetry

        default java.util.concurrent.CompletableFuture<java.util.Optional<org.apache.pulsar.common.policies.data.TopicPolicies>> getTopicPoliciesAsyncWithRetry​(org.apache.pulsar.common.naming.TopicName topicName,
                                                                                                                                                                org.apache.pulsar.client.impl.Backoff backoff,
                                                                                                                                                                java.util.concurrent.ScheduledExecutorService scheduledExecutorService,
                                                                                                                                                                boolean isGlobal)
        When getting TopicPolicies, if the initialization has not been completed, we will go back off and try again until time out.
        Parameters:
        topicName - topic name
        backoff - back off policy
        isGlobal - is global policies
        Returns:
        CompletableFuture>
      • getTopicPoliciesBypassCacheAsync

        java.util.concurrent.CompletableFuture<org.apache.pulsar.common.policies.data.TopicPolicies> getTopicPoliciesBypassCacheAsync​(org.apache.pulsar.common.naming.TopicName topicName)
        Get policies for a topic without cache async.
        Parameters:
        topicName - topic name
        Returns:
        future of the topic policies
      • addOwnedNamespaceBundleAsync

        java.util.concurrent.CompletableFuture<java.lang.Void> addOwnedNamespaceBundleAsync​(NamespaceBundle namespaceBundle)
        Add owned namespace bundle async.
        Parameters:
        namespaceBundle - namespace bundle
      • removeOwnedNamespaceBundleAsync

        java.util.concurrent.CompletableFuture<java.lang.Void> removeOwnedNamespaceBundleAsync​(NamespaceBundle namespaceBundle)
        Remove owned namespace bundle async.
        Parameters:
        namespaceBundle - namespace bundle
      • start

        void start()
        Start the topic policy service.
      • registerListener

        void registerListener​(org.apache.pulsar.common.naming.TopicName topicName,
                              TopicPolicyListener<org.apache.pulsar.common.policies.data.TopicPolicies> listener)
      • unregisterListener

        void unregisterListener​(org.apache.pulsar.common.naming.TopicName topicName,
                                TopicPolicyListener<org.apache.pulsar.common.policies.data.TopicPolicies> listener)