@Override
  public String getJMXProtocol(String clusterName, String componentName) {
    return overridenJmxUri(componentName)
      .map(uri -> resolve(uri, clusterName).getScheme())
      .orElseGet(() -> defaultProvider.getJMXProtocol(clusterName, componentName));
  }
A special {@link JMXHostProvider} that resolves JMX URIs based on cluster configuration.
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigBasedJmxHostProvider.java