Class ZKConfig

  • Direct Known Subclasses:
    ZKClientConfig

    public class ZKConfig
    extends java.lang.Object
    This class is a base class for the configurations of both client and server. It supports reading client configuration from both system properties and configuration file. A user can override any system property by calling setProperty(String, String).
    Since:
    3.5.2
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String JGSS_NATIVE  
      static java.lang.String JUTE_MAXBUFFER  
      static java.lang.String KINIT_COMMAND
      Path to a kinit binary: "zookeeper.kinit".
    • Constructor Summary

      Constructors 
      Constructor Description
      ZKConfig()
      properties, which are common to both client and server, are initialized from system properties
      ZKConfig​(java.io.File configFile)  
      ZKConfig​(java.lang.String configPath)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addConfiguration​(java.io.File configFile)
      Add a configuration resource.
      void addConfiguration​(java.lang.String configPath)
      Add a configuration resource.
      boolean getBoolean​(java.lang.String key)
      Returns true if and only if the property named by the argument exists and is equal to the string "true".
      boolean getBoolean​(java.lang.String key, boolean defaultValue)
      Get the value of the key property as a boolean.
      int getInt​(java.lang.String key, int defaultValue)
      Get the value of the key property as an int.
      java.lang.String getJaasConfKey()
      Return the value of "java.security.auth.login.config" system property
      java.lang.String getProperty​(java.lang.String key)
      Get the property value
      java.lang.String getProperty​(java.lang.String key, java.lang.String defaultValue)
      Get the property value, if it is null return default value
      protected void handleBackwardCompatibility()
      Now onwards client code will use properties from this class but older clients still be setting properties through system properties.
      void setProperty​(java.lang.String key, java.lang.String value)
      Maps the specified key to the specified value.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • KINIT_COMMAND

        public static final java.lang.String KINIT_COMMAND
        Path to a kinit binary: "zookeeper.kinit". Defaults to "/usr/bin/kinit"
        See Also:
        Constant Field Values
    • Method Detail

      • handleBackwardCompatibility

        protected void handleBackwardCompatibility()
        Now onwards client code will use properties from this class but older clients still be setting properties through system properties. So to make this change backward compatible we should set old system properties in this configuration.
      • getProperty

        public java.lang.String getProperty​(java.lang.String key)
        Get the property value
        Parameters:
        key -
        Returns:
        property value
      • getProperty

        public java.lang.String getProperty​(java.lang.String key,
                                            java.lang.String defaultValue)
        Get the property value, if it is null return default value
        Parameters:
        key - property key
        defaultValue -
        Returns:
        property value or default value
      • getJaasConfKey

        public java.lang.String getJaasConfKey()
        Return the value of "java.security.auth.login.config" system property
        Returns:
        value
      • setProperty

        public void setProperty​(java.lang.String key,
                                java.lang.String value)
        Maps the specified key to the specified value. key can not be null. If key is already mapped then the old value of the key is replaced by the specified value.
        Parameters:
        key -
        value -
      • addConfiguration

        public void addConfiguration​(java.io.File configFile)
                              throws QuorumPeerConfig.ConfigException
        Add a configuration resource. The properties form this configuration will overwrite corresponding already loaded property and system property
        Parameters:
        configFile - Configuration file.
        Throws:
        QuorumPeerConfig.ConfigException
      • addConfiguration

        public void addConfiguration​(java.lang.String configPath)
                              throws QuorumPeerConfig.ConfigException
        Add a configuration resource. The properties form this configuration will overwrite corresponding already loaded property and system property
        Parameters:
        configPath - Configuration file path.
        Throws:
        QuorumPeerConfig.ConfigException
      • getBoolean

        public boolean getBoolean​(java.lang.String key)
        Returns true if and only if the property named by the argument exists and is equal to the string "true".
      • getBoolean

        public boolean getBoolean​(java.lang.String key,
                                  boolean defaultValue)
        Get the value of the key property as a boolean. Returns true if and only if the property named by the argument exists and is equal to the string "true". If the property is not set, the provided defaultValue is returned.
        Parameters:
        key - property key.
        defaultValue - default value.
        Returns:
        return property value as an boolean, or defaultValue
      • getInt

        public int getInt​(java.lang.String key,
                          int defaultValue)
        Get the value of the key property as an int. If property is not set, the provided defaultValue is returned
        Parameters:
        key - property key.
        defaultValue - default value.
        Returns:
        return property value as an int, or defaultValue
        Throws:
        java.lang.NumberFormatException - when the value is invalid