Class SmackConfiguration


  • public final class SmackConfiguration
    extends java.lang.Object
    Represents the configuration of Smack. The configuration is used for:
    • Initializing classes by loading them at start-up.
    • Getting the current Smack version.
    • Getting and setting global library behavior, such as the period of time to wait for replies to packets from the server. Note: setting these values via the API will override settings in the configuration file.
    Configuration settings are stored in org.jivesoftware.smack/smack-config.xml.
    • Field Detail

      • SMACK_URL_STRING

        public static final java.lang.String SMACK_URL_STRING
        See Also:
        Constant Field Values
      • SMACK_URL

        public static final java.net.URL SMACK_URL
      • DEBUG

        public static boolean DEBUG
        Value that indicates whether debugging is enabled. When enabled, a debug window will appear for each new connection that will contain the following information:
        • Client Traffic -- raw XML traffic generated by Smack and sent to the server.
        • Server Traffic -- raw XML traffic sent by the server to the client.
        • Interpreted Packets -- shows XML packets from the server as parsed by Smack.
        Debugging can be enabled by setting this field to true, or by setting the Java system property smack.debugEnabled to true. The system property can be set on the command line such as "java SomeApp -Dsmack.debugEnabled=true".
    • Constructor Detail

      • SmackConfiguration

        public SmackConfiguration()
    • Method Detail

      • getVersion

        @Deprecated
        public static java.lang.String getVersion()
        Deprecated.
        use Smack.getVersion() instead.
        Returns the Smack version information, eg "1.3.0".
        Returns:
        the Smack version information.
      • getDefaultReplyTimeout

        public static int getDefaultReplyTimeout()
        Returns the number of milliseconds to wait for a response from the server. The default value is 5000 ms.
        Returns:
        the milliseconds to wait for a response from the server
      • setDefaultReplyTimeout

        public static void setDefaultReplyTimeout​(int timeout)
        Sets the number of milliseconds to wait for a response from the server.
        Parameters:
        timeout - the milliseconds to wait for a response from the server
      • setDefaultSmackDebuggerFactory

        public static void setDefaultSmackDebuggerFactory​(SmackDebuggerFactory debuggerFactory)
      • getDefaultSmackDebuggerFactory

        public static SmackDebuggerFactory getDefaultSmackDebuggerFactory()
      • getStanzaCollectorSize

        public static int getStanzaCollectorSize()
        Gets the default max size of a stanza collector before it will delete the older packets.
        Returns:
        The number of packets to queue before deleting older packets.
      • setStanzaCollectorSize

        public static void setStanzaCollectorSize​(int collectorSize)
        Sets the default max size of a stanza collector before it will delete the older packets.
        Parameters:
        collectorSize - the number of packets to queue before deleting older packets.
      • addSaslMech

        public static void addSaslMech​(java.lang.String mech)
        Add a SASL mechanism to the list to be used.
        Parameters:
        mech - the SASL mechanism to be added
      • addSaslMechs

        public static void addSaslMechs​(java.util.Collection<java.lang.String> mechs)
        Add a Collection of SASL mechanisms to the list to be used.
        Parameters:
        mechs - the Collection of SASL mechanisms to be added
      • removeSaslMech

        public static void removeSaslMech​(java.lang.String mech)
        Remove a SASL mechanism from the list to be used.
        Parameters:
        mech - the SASL mechanism to be removed
      • removeSaslMechs

        public static void removeSaslMechs​(java.util.Collection<java.lang.String> mechs)
        Remove a Collection of SASL mechanisms to the list to be used.
        Parameters:
        mechs - the Collection of SASL mechanisms to be removed
      • getSaslMechs

        public static java.util.List<java.lang.String> getSaslMechs()
        Returns the list of SASL mechanisms to be used. If a SASL mechanism is listed here it does not guarantee it will be used. The server may not support it, or it may not be implemented.
        Returns:
        the list of SASL mechanisms to be used.
      • setDefaultParsingExceptionCallback

        public static void setDefaultParsingExceptionCallback​(ParsingExceptionCallback callback)
        Set the default parsing exception callback for all newly created connections.
        Parameters:
        callback - TODO javadoc me please
        See Also:
        ParsingExceptionCallback
      • getDefaultParsingExceptionCallback

        public static ParsingExceptionCallback getDefaultParsingExceptionCallback()
        Returns the default parsing exception callback.
        Returns:
        the default parsing exception callback
        See Also:
        ParsingExceptionCallback
      • addCompressionHandler

        public static void addCompressionHandler​(XMPPInputOutputStream xmppInputOutputStream)
      • getCompressionHandlers

        public static java.util.List<XMPPInputOutputStream> getCompressionHandlers()
        Get compression handlers.
        Returns:
        a list of compression handlers.
      • setDefaultHostnameVerifier

        public static void setDefaultHostnameVerifier​(javax.net.ssl.HostnameVerifier verifier)
        Set the default HostnameVerifier that will be used by XMPP connections to verify the hostname of a TLS certificate. XMPP connections are able to overwrite this settings by supplying a HostnameVerifier in their ConnectionConfiguration with ConnectionConfiguration.Builder.setHostnameVerifier(HostnameVerifier).
        Parameters:
        verifier - HostnameVerifier
      • addDisabledSmackClass

        public static void addDisabledSmackClass​(java.lang.Class<?> clz)
        Convenience method for addDisabledSmackClass(String).
        Parameters:
        clz - the Smack class to disable
      • addDisabledSmackClass

        public static void addDisabledSmackClass​(java.lang.String className)
        Add a class to the disabled smack classes.

        className can also be a package name, in this case, the entire package is disabled (but can be manually enabled).

        Parameters:
        className - TODO javadoc me please
      • addDisabledSmackClasses

        public static void addDisabledSmackClasses​(java.lang.String... classNames)
        Add the given class names to the list of disabled Smack classes.
        Parameters:
        classNames - the Smack classes to disable.
        See Also:
        addDisabledSmackClass(String)
      • isDisabledSmackClass

        public static boolean isDisabledSmackClass​(java.lang.String className)
      • isSmackInitialized

        public static boolean isSmackInitialized()
        Check if Smack was successfully initialized.
        Returns:
        true if smack was initialized, false otherwise
      • getDefaultConcurrencyLevelLimit

        public static int getDefaultConcurrencyLevelLimit()