### *** This class provides Binary Compatibility only, not Source Compatibility ***

Package com.sas.services.connection

# Class MetadataClusterUtil

java.lang.Object
com.sas.services.connection.MetadataClusterUtil

@SASScope("ALL") @BinaryCompatibilityOnly public final class MetadataClusterUtil extends Object
Utility class to create SAS metadata server cluster definitions. Cluster nodes may be specified by the caller or retrieved from the system application properties table.

Since:
  9.4

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `OPTION_ENCRYPT`
  Encrypt all data when communicating with the cluster.
  `static final String`
  `OPTION_SSPI_PACKAGE`
  Specify SSPI security package.
  `static final String`
  `OPTION_SSPI_PACKAGE_LIST`
  Specify SSPI security package list.
  `static final String`
  `OPTION_SSPI_SPN`
  Specify SSPI service principal name.
  `static final String`
  `OPTION_USE_CLUSTER_PROPERTIES`
  Enable or disable replacement of host/port parameters with the cluster definition found in the application properties table.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `MetadataClusterUtil()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static Cluster`
  `createCluster(HostPortSet clusterNodes, Map<String,String> options)`
  Convenience method for creating a metadata cluster.
  `static Cluster`
  `createCluster(String hosts, String ports, Map<String,String> options)`
  Convenience method for creating a metadata cluster.
  `static HostPortSet`
  `getClusterHostPortSet()`
  Returns host/port collection for metadata server cluster as defined in the application properties table.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### OPTION_ENCRYPT

    public static final String OPTION_ENCRYPT
    Encrypt all data when communicating with the cluster. Boolean value.
    See Also:
      - Constant Field Values

  - ### OPTION_SSPI_PACKAGE

    public static final String OPTION_SSPI_PACKAGE
    Specify SSPI security package. The security package will be set to negotiate if this option is not specified.
    See Also:
      - Constant Field Values

  - ### OPTION_SSPI_PACKAGE_LIST

    public static final String OPTION_SSPI_PACKAGE_LIST
    Specify SSPI security package list.
    See Also:
      - Constant Field Values

  - ### OPTION_SSPI_SPN

    public static final String OPTION_SSPI_SPN
    Specify SSPI service principal name.
    See Also:
      - Constant Field Values

  - ### OPTION_USE_CLUSTER_PROPERTIES

    public static final String OPTION_USE_CLUSTER_PROPERTIES
    Enable or disable replacement of host/port parameters with the cluster definition found in the application properties table. Boolean value. If this option is not specified, the USE_SYSTEM_PROPERTIES_FOR_CLUSTER system property is used instead. If the system property is not defined, application properties are ignored.
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### MetadataClusterUtil

    public MetadataClusterUtil()

- ## Method Details

  - ### createCluster

    public static Cluster createCluster(String hosts, String ports, Map<String,String> options)
    Convenience method for creating a metadata cluster. This method creates the BridgeServer objects that define the cluster.
    Parameters:
      `hosts` - space delimited list of host names. May be abbreviated to a single name if the same host is used for all cluster nodes. May be null or empty if cluster properties lookup is enabled.
      `ports` - space delimited list of port numbers. May be abbreviated to a single port if the same port is used for all cluster nodes. May be null or empty if cluster properties lookup is enabled.
      `options` - connection options. See OPTION_* constants for available options.
    Returns:
      cluster definition

  - ### createCluster

    public static Cluster createCluster(HostPortSet clusterNodes, Map<String,String> options)
    Convenience method for creating a metadata cluster. This method creates the BridgeServer objects that define the cluster.
    Parameters:
      `clusterNodes` - one or more nodes making up the cluster. May be null or empty if and only if the sas.metadata.use.cluster.properties system property or OPTION_USE_CLUSTER_PROPERTIES option is true.
      `options` - connection options. See OPTION_* constants for available options.
    Returns:
      cluster definition

  - ### getClusterHostPortSet

    public static HostPortSet getClusterHostPortSet()
    Returns host/port collection for metadata server cluster as defined in the application properties table. Returns null if sas.metadata.use.cluster.properties system property is not defined.
    Returns:
      host/port collection for metadata server cluster as defined in the application properties table
    Throws:
      `RuntimeException` - if application properties table cannot be accessed