public class MqttPahoMessageHandler extends AbstractMqttMessageHandler implements org.eclipse.paho.client.mqttv3.MqttCallback, org.springframework.context.ApplicationEventPublisherAware
IntegrationManagement.ManagementOverrides
EXPRESSION_PARSER, logger
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME
Constructor and Description |
---|
MqttPahoMessageHandler(java.lang.String clientId,
MqttPahoClientFactory clientFactory)
Use this constructor if the server URI(s) are provided by the
MqttConnectOptions.getServerURIs()
provided by the MqttPahoClientFactory . |
MqttPahoMessageHandler(java.lang.String url,
java.lang.String clientId)
Use this URL when you don't need additional
MqttConnectOptions . |
MqttPahoMessageHandler(java.lang.String url,
java.lang.String clientId,
MqttPahoClientFactory clientFactory)
Use this constructor for a single url (although it may be overridden
if the server URI(s) are provided by the
MqttConnectOptions.getServerURIs()
provided by the MqttPahoClientFactory ). |
Modifier and Type | Method and Description |
---|---|
void |
connectionLost(java.lang.Throwable cause) |
void |
deliveryComplete(org.eclipse.paho.client.mqttv3.IMqttDeliveryToken token) |
protected void |
doStart() |
protected void |
doStop() |
void |
messageArrived(java.lang.String topic,
org.eclipse.paho.client.mqttv3.MqttMessage message) |
protected void |
onInit()
Subclasses may implement this for initialization logic.
|
protected void |
publish(java.lang.String topic,
java.lang.Object mqttMessage,
org.springframework.messaging.Message<?> message) |
void |
setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher applicationEventPublisher) |
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 |
setCompletionTimeout(int completionTimeout)
Set the completion timeout for async operations.
|
getClientId, getClientInstance, getComponentType, getConverter, getUrl, handleMessageInternal, incrementClientInstance, isRunning, setConverter, setDefaultQos, setDefaultRetained, setDefaultTopic, setQosExpression, setQosExpressionString, setRetainedExpression, setRetainedExpressionString, setTopicExpression, setTopicExpressionString, start, stop
configureMetrics, getActiveCount, getActiveCountLong, getDuration, getErrorCount, getErrorCountLong, getHandleCount, getHandleCountLong, getManagedName, getManagedType, getMaxDuration, getMeanDuration, getMinDuration, getOrder, getOverrides, getStandardDeviationDuration, handleMessage, isCountsEnabled, isLoggingEnabled, isStatsEnabled, onComplete, onError, onNext, onSubscribe, registerMetricsCaptor, reset, setCountsEnabled, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, setStatsEnabled
afterPropertiesSet, extractTypeIfPossible, getApplicationContext, getApplicationContextId, getBeanFactory, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getComponentName
public MqttPahoMessageHandler(java.lang.String url, java.lang.String clientId, MqttPahoClientFactory clientFactory)
MqttConnectOptions.getServerURIs()
provided by the MqttPahoClientFactory
).url
- the URL.clientId
- The client id.clientFactory
- The client factory.public MqttPahoMessageHandler(java.lang.String clientId, MqttPahoClientFactory clientFactory)
MqttConnectOptions.getServerURIs()
provided by the MqttPahoClientFactory
.clientId
- The client id.clientFactory
- The client factory.public MqttPahoMessageHandler(java.lang.String url, java.lang.String clientId)
MqttConnectOptions
.url
- The URL.clientId
- The client id.public void setAsync(boolean async)
async
- true for async.public void setAsyncEvents(boolean asyncEvents)
setAsync(boolean)
is true, setting this to true enables
publication of MqttMessageSentEvent
and MqttMessageDeliveredEvent
to be emitted. Default false.asyncEvents
- the asyncEvents.public void setCompletionTimeout(int completionTimeout)
completionTimeout
- The timeout.public void setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher applicationEventPublisher)
setApplicationEventPublisher
in interface org.springframework.context.ApplicationEventPublisherAware
protected void onInit() throws java.lang.Exception
IntegrationObjectSupport
onInit
in class AbstractMqttMessageHandler
java.lang.Exception
- Any exception.protected void doStart()
doStart
in class AbstractMqttMessageHandler
protected void doStop()
doStop
in class AbstractMqttMessageHandler
protected void publish(java.lang.String topic, java.lang.Object mqttMessage, org.springframework.messaging.Message<?> message) throws java.lang.Exception
publish
in class AbstractMqttMessageHandler
java.lang.Exception
public void connectionLost(java.lang.Throwable cause)
connectionLost
in interface org.eclipse.paho.client.mqttv3.MqttCallback
public void messageArrived(java.lang.String topic, org.eclipse.paho.client.mqttv3.MqttMessage message) throws java.lang.Exception
messageArrived
in interface org.eclipse.paho.client.mqttv3.MqttCallback
java.lang.Exception
public void deliveryComplete(org.eclipse.paho.client.mqttv3.IMqttDeliveryToken token)
deliveryComplete
in interface org.eclipse.paho.client.mqttv3.MqttCallback