Class NamespaceIsolationPolicies

java.lang.Object
org.apache.pulsar.common.policies.impl.NamespaceIsolationPolicies

public class NamespaceIsolationPolicies extends Object
Namespace isolation policies.
  • Constructor Details

    • NamespaceIsolationPolicies

      public NamespaceIsolationPolicies()
    • NamespaceIsolationPolicies

      public NamespaceIsolationPolicies(Map<String,NamespaceIsolationDataImpl> policiesMap)
  • Method Details

    • getPolicyByName

      public NamespaceIsolationPolicy getPolicyByName(String policyName)
      Access method to get the namespace isolation policy by the policy name.
      Parameters:
      policyName -
      Returns:
    • getPolicyByNamespace

      public NamespaceIsolationPolicy getPolicyByNamespace(NamespaceName namespace)
      Get the namespace isolation policy for the specified namespace.

      There should only be one namespace isolation policy defined for the specific namespace. If multiple policies match, the first one will be returned.

      Parameters:
      namespace -
      Returns:
    • setPolicy

      public void setPolicy(String policyName, NamespaceIsolationData policyData)
      Set the policy data for a single policy.
      Parameters:
      policyName -
      policyData -
    • deletePolicy

      public void deletePolicy(String policyName)
      Delete a policy.
      Parameters:
      policyName -
    • getPolicies

      public Map<String,NamespaceIsolationDataImpl> getPolicies()
      Get the full policy map.
      Returns:
      All policy data in a map
    • isSharedBroker

      public boolean isSharedBroker(String host)
      Check to see whether a broker is in the shared broker pool or not.
      Parameters:
      host -
      Returns:
    • assignBroker

      public void assignBroker(NamespaceName nsname, BrokerStatus brkStatus, SortedSet<BrokerStatus> primaryCandidates, SortedSet<BrokerStatus> secondaryCandidates, SortedSet<BrokerStatus> sharedCandidates)