Class SmackConfiguration

java.lang.Object
org.jivesoftware.smack.SmackConfiguration

public final class SmackConfiguration extends 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 Details

    • SMACK_URL_STRING

      public static final String SMACK_URL_STRING
      See Also:
    • SMACK_URL

      public static final 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 Details

    • SmackConfiguration

      public SmackConfiguration()
  • Method Details

    • getVersion

      @Deprecated public static String getVersion()
      Deprecated.
      use Smack.getVersion() instead.
      Returns the Smack version information, e.g."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
    • getDefaultJxmppContext

      public static org.jxmpp.JxmppContext getDefaultJxmppContext()
    • setDefaultJxmppContext

      public static void setDefaultJxmppContext(org.jxmpp.JxmppContext jxmppContext)
    • 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(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(Collection<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(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(Collection<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 List<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:
    • getDefaultParsingExceptionCallback

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

      public static void addCompressionHandler(XMPPInputOutputStream xmppInputOutputStream)
    • getCompressionHandlers

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

      public static void setDefaultHostnameVerifier(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(Class<?> clz)
      Convenience method for addDisabledSmackClass(String).
      Parameters:
      clz - the Smack class to disable
    • addDisabledSmackClass

      public static void addDisabledSmackClass(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(String... classNames)
      Add the given class names to the list of disabled Smack classes.
      Parameters:
      classNames - the Smack classes to disable.
      See Also:
    • isDisabledSmackClass

      public static boolean isDisabledSmackClass(String className)
    • isSmackInitialized

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

      public static SmackConfiguration.UnknownIqRequestReplyMode getUnknownIqRequestReplyMode()
    • setUnknownIqRequestReplyMode

      public static void setUnknownIqRequestReplyMode(SmackConfiguration.UnknownIqRequestReplyMode unknownIqRequestReplyMode)
    • getDefaultConcurrencyLevelLimit

      public static int getDefaultConcurrencyLevelLimit()
    • addModule

      public static boolean addModule(Class<? extends ModularXmppClientToServerConnectionModuleDescriptor> moduleDescriptor)
    • addAllKnownModulesTo

      public static void addAllKnownModulesTo(ModularXmppClientToServerConnectionConfiguration.Builder builder)