Interface Brokers


  • public interface Brokers
    Admin interface for brokers management.
    • Method Detail

      • getActiveBrokers

        java.util.List<java.lang.String> getActiveBrokers​(java.lang.String cluster)
                                                   throws PulsarAdminException
        Get the list of active brokers in the cluster.

        Get the list of active brokers (web service addresses) in the cluster.

        Response Example:

         ["prod1-broker1.messaging.use.example.com:8080", "prod1-broker2.messaging.use.example.com:8080"
         * * "prod1-broker3.messaging.use.example.com:8080"]
         
        Parameters:
        cluster - Cluster name
        Returns:
        a list of (host:port)
        Throws:
        PulsarAdminException.NotAuthorizedException - You don't have admin permission to get the list of active brokers in the cluster
        PulsarAdminException.NotFoundException - Cluster doesn't exist
        PulsarAdminException - Unexpected error
      • getActiveBrokersAsync

        java.util.concurrent.CompletableFuture<java.util.List<java.lang.String>> getActiveBrokersAsync​(java.lang.String cluster)
        Get the list of active brokers in the cluster asynchronously.

        Get the list of active brokers (web service addresses) in the cluster.

        Response Example:

         ["prod1-broker1.messaging.use.example.com:8080", "prod1-broker2.messaging.use.example.com:8080",
         "prod1-broker3.messaging.use.example.com:8080"]
         
        Parameters:
        cluster - Cluster name
        Returns:
        a list of (host:port)
      • getLeaderBroker

        BrokerInfo getLeaderBroker()
                            throws PulsarAdminException
        Get the information of the leader broker.

        Get the information of the leader broker.

        Response Example:

         {serviceUrl:"prod1-broker1.messaging.use.example.com:8080"}
         
        Returns:
        the information of the leader broker.
        Throws:
        PulsarAdminException - Unexpected error
      • getLeaderBrokerAsync

        java.util.concurrent.CompletableFuture<BrokerInfo> getLeaderBrokerAsync()
                                                                         throws PulsarAdminException
        Get the service url of the leader broker asynchronously.

        Get the service url of the leader broker.

        Response Example:

         {serviceUrl:"prod1-broker1.messaging.use.example.com:8080"}
         
        Returns:
        the service url of the leader broker
        Throws:
        PulsarAdminException - Unexpected error
      • getOwnedNamespaces

        java.util.Map<java.lang.String,​NamespaceOwnershipStatus> getOwnedNamespaces​(java.lang.String cluster,
                                                                                          java.lang.String brokerUrl)
                                                                                   throws PulsarAdminException
        Get the map of owned namespaces and their status from a single broker in the cluster.

        The map is returned in a JSON object format below

        Response Example:

         {"ns-1":{"broker_assignment":"shared","is_active":"true","is_controlled":"false"},
         "ns-2":{"broker_assignment":"primary","is_active":"true","is_controlled":"true"}}
         
        Parameters:
        cluster -
        brokerUrl -
        Returns:
        Throws:
        PulsarAdminException
      • getOwnedNamespacesAsync

        java.util.concurrent.CompletableFuture<java.util.Map<java.lang.String,​NamespaceOwnershipStatus>> getOwnedNamespacesAsync​(java.lang.String cluster,
                                                                                                                                       java.lang.String brokerUrl)
        Get the map of owned namespaces and their status from a single broker in the cluster asynchronously.

        The map is returned in a JSON object format below

        Response Example:

         {"ns-1":{"broker_assignment":"shared","is_active":"true","is_controlled":"false"},
         "ns-2":{"broker_assignment":"primary","is_active":"true","is_controlled":"true"}}
         
        Parameters:
        cluster -
        brokerUrl -
        Returns:
      • updateDynamicConfiguration

        void updateDynamicConfiguration​(java.lang.String configName,
                                        java.lang.String configValue)
                                 throws PulsarAdminException
        Update a dynamic configuration value into ZooKeeper.

        It updates dynamic configuration value in to Zk that triggers watch on brokers and all brokers can update ServiceConfiguration value locally

        Parameters:
        configName -
        configValue -
        Throws:
        PulsarAdminException
      • updateDynamicConfigurationAsync

        java.util.concurrent.CompletableFuture<java.lang.Void> updateDynamicConfigurationAsync​(java.lang.String configName,
                                                                                               java.lang.String configValue)
        Update a dynamic configuration value into ZooKeeper asynchronously.

        It updates dynamic configuration value in to Zk that triggers watch on brokers and all brokers can update ServiceConfiguration value locally

        Parameters:
        configName -
        configValue -
      • deleteDynamicConfiguration

        void deleteDynamicConfiguration​(java.lang.String configName)
                                 throws PulsarAdminException
        It deletes dynamic configuration value into ZooKeeper.

        It will not impact current value in broker but next time when broker restarts, it applies value from configuration file only.

        Parameters:
        configName -
        Throws:
        PulsarAdminException
      • deleteDynamicConfigurationAsync

        java.util.concurrent.CompletableFuture<java.lang.Void> deleteDynamicConfigurationAsync​(java.lang.String configName)
        It deletes dynamic configuration value into ZooKeeper asynchronously.

        It will not impact current value in broker but next time when broker restarts, it applies value from configuration file only.

        Parameters:
        configName -
      • getDynamicConfigurationNames

        java.util.List<java.lang.String> getDynamicConfigurationNames()
                                                               throws PulsarAdminException
        Get list of updatable configuration name.
        Returns:
        Throws:
        PulsarAdminException
      • getDynamicConfigurationNamesAsync

        java.util.concurrent.CompletableFuture<java.util.List<java.lang.String>> getDynamicConfigurationNamesAsync()
        Get list of updatable configuration name asynchronously.
        Returns:
      • getRuntimeConfigurations

        java.util.Map<java.lang.String,​java.lang.String> getRuntimeConfigurations()
                                                                                 throws PulsarAdminException
        Get values of runtime configuration.
        Returns:
        Throws:
        PulsarAdminException
      • getRuntimeConfigurationsAsync

        java.util.concurrent.CompletableFuture<java.util.Map<java.lang.String,​java.lang.String>> getRuntimeConfigurationsAsync()
        Get values of runtime configuration asynchronously.
        Returns:
      • getAllDynamicConfigurations

        java.util.Map<java.lang.String,​java.lang.String> getAllDynamicConfigurations()
                                                                                    throws PulsarAdminException
        Get values of all overridden dynamic-configs.
        Returns:
        Throws:
        PulsarAdminException
      • getAllDynamicConfigurationsAsync

        java.util.concurrent.CompletableFuture<java.util.Map<java.lang.String,​java.lang.String>> getAllDynamicConfigurationsAsync()
        Get values of all overridden dynamic-configs asynchronously.
        Returns:
      • getInternalConfigurationDataAsync

        java.util.concurrent.CompletableFuture<InternalConfigurationData> getInternalConfigurationDataAsync()
        Get the internal configuration data asynchronously.
        Returns:
        internal configuration data.
      • backlogQuotaCheckAsync

        java.util.concurrent.CompletableFuture<java.lang.Void> backlogQuotaCheckAsync()
        Manually trigger backlogQuotaCheck asynchronously.
        Returns:
      • healthcheckAsync

        java.util.concurrent.CompletableFuture<java.lang.Void> healthcheckAsync()
        Run a healthcheck on the broker asynchronously.