Interface ClientManager<T,C>

Type Parameters:
T - MQTT client type
C - MQTT connection options type (v5 or v3)
All Superinterfaces:
Aware, BeanNameAware, Lifecycle, MqttComponent<C>, Phased, SmartLifecycle
All Known Implementing Classes:
AbstractMqttClientManager, Mqttv3ClientManager, Mqttv5ClientManager

public interface ClientManager<T,C> extends SmartLifecycle, MqttComponent<C>
A utility abstraction over MQTT client which can be used in any MQTT-related component without need to handle generic client callbacks, reconnects etc. Using this manager in multiple MQTT integrations will preserve a single connection.
Since:
6.0
Author:
Artem Vozhdayenko, Artem Bilan
  • Field Details

    • DEFAULT_COMPLETION_TIMEOUT

      static final long DEFAULT_COMPLETION_TIMEOUT
      The default completion timeout in milliseconds.
      See Also:
    • DISCONNECT_COMPLETION_TIMEOUT

      static final long DISCONNECT_COMPLETION_TIMEOUT
      The default disconnect completion timeout in milliseconds.
      See Also:
  • Method Details

    • getClient

      T getClient()
      Return the managed client.
      Returns:
      the managed client.
    • isManualAcks

      boolean isManualAcks()
      If manual acknowledge has to be used; false by default.
      Returns:
      true if manual acknowledge has to be used.
    • addCallback

      void addCallback(ClientManager.ConnectCallback connectCallback)
      Register a callback for the connectComplete event from the client.
      Parameters:
      connectCallback - a ClientManager.ConnectCallback to register.
    • removeCallback

      boolean removeCallback(ClientManager.ConnectCallback connectCallback)
      Remove the callback from registration.
      Parameters:
      connectCallback - a ClientManager.ConnectCallback to unregister.
      Returns:
      true if callback was removed.