Class AbstractMqttMessageDrivenChannelAdapter

java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.endpoint.AbstractEndpoint
org.springframework.integration.endpoint.MessageProducerSupport
org.springframework.integration.mqtt.inbound.AbstractMqttMessageDrivenChannelAdapter
All Implemented Interfaces:
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.beans.factory.SmartInitializingSingleton, org.springframework.context.ApplicationContextAware, org.springframework.context.Lifecycle, org.springframework.context.Phased, org.springframework.context.SmartLifecycle, org.springframework.integration.context.ExpressionCapable, org.springframework.integration.core.MessageProducer, org.springframework.integration.IntegrationPattern, org.springframework.integration.support.context.NamedComponent, org.springframework.integration.support.management.ManageableLifecycle, org.springframework.integration.support.management.ManageableSmartLifecycle, org.springframework.integration.support.management.TrackableComponent
Direct Known Subclasses:
MqttPahoMessageDrivenChannelAdapter

@ManagedResource
@IntegrationManagedResource
public abstract class AbstractMqttMessageDrivenChannelAdapter
extends org.springframework.integration.endpoint.MessageProducerSupport
Abstract class for MQTT Message-Driven Channel Adapters.
Since:
4.0
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected java.util.concurrent.locks.Lock topicLock  

    Fields inherited from class org.springframework.integration.endpoint.AbstractEndpoint

    lifecycleCondition, lifecycleLock

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

    EXPRESSION_PARSER, logger

    Fields inherited from interface org.springframework.context.SmartLifecycle

    DEFAULT_PHASE
  • Constructor Summary

    Constructors 
    Constructor Description
    AbstractMqttMessageDrivenChannelAdapter​(java.lang.String url, java.lang.String clientId, java.lang.String... topic)  
  • Method Summary

    Modifier and Type Method Description
    void addTopic​(java.lang.String... topic)
    Add a topic (or topics) to the subscribed list (qos=1).
    void addTopic​(java.lang.String topic, int qos)
    Add a topic to the subscribed list.
    void addTopics​(java.lang.String[] topic, int[] qos)
    Add topics to the subscribed list.
    protected java.lang.String getClientId()  
    java.lang.String getComponentType()  
    protected MqttMessageConverter getConverter()  
    int[] getQos()  
    java.lang.String[] getTopic()  
    protected java.lang.String getUrl()  
    protected void onInit()  
    void removeTopic​(java.lang.String... topic)
    Remove a topic (or topics) from the subscribed list.
    void setConverter​(MqttMessageConverter converter)  
    void setQos​(int... qos)
    Set the QoS for each topic; a single value will apply to all topics otherwise the correct number of qos values must be provided.

    Methods inherited from class org.springframework.integration.endpoint.MessageProducerSupport

    afterSingletonsInstantiated, buildErrorMessage, doStart, doStop, getErrorChannel, getErrorMessageAttributes, getIntegrationPatternType, getMessagingTemplate, getOutputChannel, sendErrorMessageIfNecessary, sendMessage, setErrorChannel, setErrorChannelName, setErrorMessageStrategy, setOutputChannel, setOutputChannelName, setSendTimeout, setShouldTrack, subscribeToPublisher

    Methods inherited from class org.springframework.integration.endpoint.AbstractEndpoint

    destroy, doStop, getPhase, getRole, isActive, isAutoStartup, isRunning, setAutoStartup, setPhase, setRole, start, stop, stop

    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.integration.support.context.NamedComponent

    getBeanName, getComponentName
  • Field Details

    • topicLock

      protected final java.util.concurrent.locks.Lock topicLock
  • Constructor Details

  • Method Details

    • setConverter

      public void setConverter​(MqttMessageConverter converter)
    • setQos

      public void setQos​(int... qos)
      Set the QoS for each topic; a single value will apply to all topics otherwise the correct number of qos values must be provided.
      Parameters:
      qos - The qos value(s).
      Since:
      4.1
    • getQos

      @ManagedAttribute public int[] getQos()
    • getUrl

      @Nullable protected java.lang.String getUrl()
    • getClientId

      protected java.lang.String getClientId()
    • getConverter

      protected MqttMessageConverter getConverter()
    • getTopic

      @ManagedAttribute public java.lang.String[] getTopic()
    • getComponentType

      public java.lang.String getComponentType()
      Specified by:
      getComponentType in interface org.springframework.integration.support.context.NamedComponent
      Overrides:
      getComponentType in class org.springframework.integration.context.IntegrationObjectSupport
    • addTopic

      @ManagedOperation public void addTopic​(java.lang.String topic, int qos)
      Add a topic to the subscribed list.
      Parameters:
      topic - The topic.
      qos - The qos.
      Throws:
      org.springframework.messaging.MessagingException - if the topic is already in the list.
      Since:
      4.1
    • addTopic

      @ManagedOperation public void addTopic​(java.lang.String... topic)
      Add a topic (or topics) to the subscribed list (qos=1).
      Parameters:
      topic - The topics.
      Throws:
      org.springframework.messaging.MessagingException - if the topic is already in the list.
      Since:
      4.1
    • addTopics

      @ManagedOperation public void addTopics​(java.lang.String[] topic, int[] qos)
      Add topics to the subscribed list.
      Parameters:
      topic - The topics.
      qos - The qos for each topic.
      Throws:
      org.springframework.messaging.MessagingException - if a topic is already in the list.
      Since:
      4.1
    • removeTopic

      @ManagedOperation public void removeTopic​(java.lang.String... topic)
      Remove a topic (or topics) from the subscribed list.
      Parameters:
      topic - The topic.
      Throws:
      org.springframework.messaging.MessagingException - if the topic is not in the list.
      Since:
      4.1
    • onInit

      protected void onInit()
      Overrides:
      onInit in class org.springframework.integration.endpoint.MessageProducerSupport