Class Mqttv5PahoMessageHandler

java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.MessageHandlerSupport
org.springframework.integration.handler.AbstractMessageHandler
org.springframework.integration.mqtt.outbound.AbstractMqttMessageHandler
org.springframework.integration.mqtt.outbound.Mqttv5PahoMessageHandler
All Implemented Interfaces:
org.eclipse.paho.mqttv5.client.MqttCallback, org.reactivestreams.Subscriber<org.springframework.messaging.Message<?>>, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.InitializingBean, org.springframework.context.ApplicationContextAware, org.springframework.context.ApplicationEventPublisherAware, org.springframework.context.Lifecycle, org.springframework.core.Ordered, org.springframework.integration.context.ExpressionCapable, org.springframework.integration.context.Orderable, org.springframework.integration.IntegrationPattern, MqttComponent<org.eclipse.paho.mqttv5.client.MqttConnectionOptions>, org.springframework.integration.support.context.NamedComponent, org.springframework.integration.support.management.IntegrationManagement, org.springframework.integration.support.management.ManageableLifecycle, org.springframework.integration.support.management.TrackableComponent, org.springframework.messaging.MessageHandler, reactor.core.CoreSubscriber<org.springframework.messaging.Message<?>>

public class Mqttv5PahoMessageHandler
extends AbstractMqttMessageHandler
implements org.eclipse.paho.mqttv5.client.MqttCallback, MqttComponent<org.eclipse.paho.mqttv5.client.MqttConnectionOptions>
The AbstractMqttMessageHandler implementation for MQTT v5.
Since:
5.5.5
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagement

    org.springframework.integration.support.management.IntegrationManagement.ManagementOverrides
  • Field Summary

    Fields inherited from class org.springframework.integration.mqtt.outbound.AbstractMqttMessageHandler

    DEFAULT_COMPLETION_TIMEOUT, DISCONNECT_COMPLETION_TIMEOUT

    Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport

    EXPRESSION_PARSER, logger

    Fields inherited from interface org.springframework.integration.support.management.IntegrationManagement

    METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME

    Fields inherited from interface org.springframework.core.Ordered

    HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
  • Constructor Summary

    Constructors 
    Constructor Description
    Mqttv5PahoMessageHandler​(java.lang.String url, java.lang.String clientId)  
    Mqttv5PahoMessageHandler​(org.eclipse.paho.mqttv5.client.MqttConnectionOptions connectionOptions, java.lang.String clientId)  
  • Method Summary

    Modifier and Type Method Description
    void authPacketArrived​(int reasonCode, org.eclipse.paho.mqttv5.common.packet.MqttProperties properties)  
    void connectComplete​(boolean reconnect, java.lang.String serverURI)  
    void deliveryComplete​(org.eclipse.paho.mqttv5.client.IMqttToken token)  
    void destroy()  
    void disconnected​(org.eclipse.paho.mqttv5.client.MqttDisconnectResponse disconnectResponse)  
    protected void doStart()  
    protected void doStop()  
    org.eclipse.paho.mqttv5.client.MqttConnectionOptions getConnectionInfo()
    Return information about the connection.
    protected void handleMessageInternal​(org.springframework.messaging.Message<?> message)  
    void messageArrived​(java.lang.String topic, org.eclipse.paho.mqttv5.common.MqttMessage message)  
    void mqttErrorOccurred​(org.eclipse.paho.mqttv5.common.MqttException exception)  
    protected void onInit()  
    protected void publish​(java.lang.String topic, java.lang.Object mqttMessage, org.springframework.messaging.Message<?> message)  
    void setAsync​(boolean async)
    Set to true if you don't want to block when sending messages.
    void setAsyncEvents​(boolean asyncEvents)
    When setAsync(boolean) is true, setting this to true enables publication of MqttMessageSentEvent and MqttMessageDeliveredEvent to be emitted.
    void setHeaderMapper​(org.springframework.integration.mapping.HeaderMapper<org.eclipse.paho.mqttv5.common.packet.MqttProperties> headerMapper)  
    void setPersistence​(org.eclipse.paho.mqttv5.client.MqttClientPersistence persistence)  

    Methods inherited from class org.springframework.integration.handler.AbstractMessageHandler

    handleMessage, onComplete, onError, onNext, onSubscribe

    Methods inherited from class org.springframework.integration.handler.MessageHandlerSupport

    buildSendTimer, getIntegrationPatternType, getManagedName, getManagedType, getMetricsCaptor, getOrder, getOverrides, isLoggingEnabled, registerMetricsCaptor, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrack

    Methods inherited from class org.springframework.integration.context.IntegrationObjectSupport

    afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface org.springframework.beans.factory.BeanNameAware

    setBeanName

    Methods inherited from interface reactor.core.CoreSubscriber

    currentContext

    Methods inherited from interface org.springframework.integration.support.management.IntegrationManagement

    getThisAs

    Methods inherited from interface org.springframework.integration.mqtt.core.MqttComponent

    getBeanName

    Methods inherited from interface org.springframework.integration.support.context.NamedComponent

    getBeanName, getComponentName
  • Constructor Details

    • Mqttv5PahoMessageHandler

      public Mqttv5PahoMessageHandler​(java.lang.String url, java.lang.String clientId)
    • Mqttv5PahoMessageHandler

      public Mqttv5PahoMessageHandler​(org.eclipse.paho.mqttv5.client.MqttConnectionOptions connectionOptions, java.lang.String clientId)
  • Method Details

    • getConnectionInfo

      public org.eclipse.paho.mqttv5.client.MqttConnectionOptions getConnectionInfo()
      Description copied from interface: MqttComponent
      Return information about the connection.
      Specified by:
      getConnectionInfo in interface MqttComponent<org.eclipse.paho.mqttv5.client.MqttConnectionOptions>
      Returns:
      the information.
    • setPersistence

      public void setPersistence​(@Nullable org.eclipse.paho.mqttv5.client.MqttClientPersistence persistence)
    • setHeaderMapper

      public void setHeaderMapper​(org.springframework.integration.mapping.HeaderMapper<org.eclipse.paho.mqttv5.common.packet.MqttProperties> headerMapper)
    • setAsync

      public void setAsync​(boolean async)
      Set to true if you don't want to block when sending messages. Default false. When true, message sent/delivered events will be published for reception by a suitably configured 'ApplicationListener' or an event inbound-channel-adapter.
      Parameters:
      async - true for async.
      See Also:
      setAsyncEvents(boolean)
    • setAsyncEvents

      public void setAsyncEvents​(boolean asyncEvents)
      When setAsync(boolean) is true, setting this to true enables publication of MqttMessageSentEvent and MqttMessageDeliveredEvent to be emitted. Default false.
      Parameters:
      asyncEvents - the asyncEvents.
    • onInit

      protected void onInit()
      Overrides:
      onInit in class AbstractMqttMessageHandler
    • doStart

      protected void doStart()
      Specified by:
      doStart in class AbstractMqttMessageHandler
    • doStop

      protected void doStop()
      Specified by:
      doStop in class AbstractMqttMessageHandler
    • destroy

      public void destroy()
      Specified by:
      destroy in interface org.springframework.beans.factory.DisposableBean
      Specified by:
      destroy in interface org.springframework.integration.support.management.IntegrationManagement
      Overrides:
      destroy in class org.springframework.integration.handler.MessageHandlerSupport
    • handleMessageInternal

      protected void handleMessageInternal​(org.springframework.messaging.Message<?> message)
      Overrides:
      handleMessageInternal in class AbstractMqttMessageHandler
    • publish

      protected void publish​(java.lang.String topic, java.lang.Object mqttMessage, org.springframework.messaging.Message<?> message)
      Specified by:
      publish in class AbstractMqttMessageHandler
    • deliveryComplete

      public void deliveryComplete​(org.eclipse.paho.mqttv5.client.IMqttToken token)
      Specified by:
      deliveryComplete in interface org.eclipse.paho.mqttv5.client.MqttCallback
    • disconnected

      public void disconnected​(org.eclipse.paho.mqttv5.client.MqttDisconnectResponse disconnectResponse)
      Specified by:
      disconnected in interface org.eclipse.paho.mqttv5.client.MqttCallback
    • mqttErrorOccurred

      public void mqttErrorOccurred​(org.eclipse.paho.mqttv5.common.MqttException exception)
      Specified by:
      mqttErrorOccurred in interface org.eclipse.paho.mqttv5.client.MqttCallback
    • messageArrived

      public void messageArrived​(java.lang.String topic, org.eclipse.paho.mqttv5.common.MqttMessage message)
      Specified by:
      messageArrived in interface org.eclipse.paho.mqttv5.client.MqttCallback
    • connectComplete

      public void connectComplete​(boolean reconnect, java.lang.String serverURI)
      Specified by:
      connectComplete in interface org.eclipse.paho.mqttv5.client.MqttCallback
    • authPacketArrived

      public void authPacketArrived​(int reasonCode, org.eclipse.paho.mqttv5.common.packet.MqttProperties properties)
      Specified by:
      authPacketArrived in interface org.eclipse.paho.mqttv5.client.MqttCallback