Class Mqtt5MessageHandler
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.MessageHandlerSupport
org.springframework.integration.handler.AbstractMessageHandler
org.springframework.integration.mqtt.client.outbound.AbstractMqttMessageHandler<com.hivemq.client.mqtt.mqtt5.Mqtt5Client>
org.springframework.integration.mqtt.client.outbound.Mqtt5MessageHandler
- All Implemented Interfaces:
org.reactivestreams.Subscriber<Message<?>>, Aware, BeanFactoryAware, BeanNameAware, DisposableBean, InitializingBean, ApplicationContextAware, ApplicationEventPublisherAware, Ordered, ComponentSourceAware, ExpressionCapable, Orderable, IntegrationPattern, NamedComponent, IntegrationManagement, TrackableComponent, MessageHandler, reactor.core.CoreSubscriber<Message<?>>
public class Mqtt5MessageHandler
extends AbstractMqttMessageHandler<com.hivemq.client.mqtt.mqtt5.Mqtt5Client>
The
AbstractMqttMessageHandler implementation for MQTT v5.- Since:
- 7.2
- Author:
- Jiandong Ma, Artem Bilan
-
Nested Class Summary
Nested classes/interfaces inherited from interface IntegrationManagement
IntegrationManagement.ManagementOverrides -
Field Summary
Fields inherited from class IntegrationObjectSupport
EXPRESSION_PARSER, loggerFields inherited from interface IntegrationManagement
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEFields inherited from interface Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
ConstructorsConstructorDescriptionMqtt5MessageHandler(ClientManager<com.hivemq.client.mqtt.mqtt5.Mqtt5Client> mqttClientManager) -
Method Summary
Modifier and TypeMethodDescriptionprotected ObjectbuildMqttMessage(String topic, byte[] body, com.hivemq.client.mqtt.datatypes.MqttQos qos, boolean retained, Message<?> message) protected booleanisMqttMessage(Object payload) protected voidpublishMqttMessage(Object messageForPublish, Message<?> message) voidsetContentTypeExpression(Expression contentTypeExpression) Set the contentType expression; defaultheaders['mqtt_contentType'].voidsetContentTypeExpressionString(String contentTypeExpression) Set the contentType expression; defaultheaders['mqtt_contentType'].voidsetCorrelationDataExpression(Expression correlationDataExpression) Set the correlationData expression; defaultheaders['mqtt_correlationData'].voidsetCorrelationDataExpressionString(String correlationDataExpression) Set the correlationData expression; defaultheaders['mqtt_correlationData'].voidsetMessageExpiryIntervalExpression(Expression messageExpiryIntervalExpression) Set the messageExpiryInterval expression; defaultheaders['mqtt_messageExpiryInterval'].voidsetMessageExpiryIntervalExpressionString(String messageExpiryIntervalExpression) Set the messageExpiryInterval expression; defaultheaders['mqtt_messageExpiryInterval'].voidsetPayloadFormatIndicatorExpression(Expression payloadFormatIndicatorExpression) Set the payloadFormatIndicator expression; defaultheaders['mqtt_payloadFormatIndicator'].voidsetPayloadFormatIndicatorExpressionString(String payloadFormatIndicatorExpression) Set the payloadFormatIndicator expression; defaultheaders['mqtt_payloadFormatIndicator'].voidsetResponseTopicExpression(Expression responseTopicExpression) Set the responseTopic expression; defaultheaders['mqtt_responseTopic'].voidsetResponseTopicExpressionString(String responseTopicExpression) Set the responseTopic expression; defaultheaders['mqtt_responseTopic'].voidsetUserPropertiesExpression(Expression userPropertiesExpression) Set the userProperties expression; defaultheaders['mqtt_userProperties'].voidsetUserPropertiesExpressionString(String userPropertiesExpression) Set the userProperties expression; defaultheaders['mqtt_userProperties'].Methods inherited from class AbstractMqttMessageHandler
getClient, getComponentType, getEvaluationContext, handleMessageInternal, isAsync, messageSentEvent, onInit, sendDeliveryCompleteEvent, sendFailedDeliveryEvent, setApplicationEventPublisher, setAsync, setDefaultQos, setDefaultRetained, setDefaultTopic, setMessageConverter, setQosExpression, setQosExpressionString, setRetainedExpression, setRetainedExpressionString, setTopicExpression, setTopicExpressionStringMethods inherited from class AbstractMessageHandler
handleMessage, onComplete, onError, onNext, onSubscribe, setObservationConventionMethods inherited from class MessageHandlerSupport
buildSendTimer, destroy, getIntegrationPatternType, getManagedName, getManagedType, getMetricsCaptor, getObservationRegistry, getOrder, getOverrides, isLoggingEnabled, isObserved, registerMetricsCaptor, registerObservationRegistry, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrackMethods inherited from class IntegrationObjectSupport
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentDescription, getComponentName, getComponentSource, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentDescription, setComponentName, setComponentSource, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface reactor.core.CoreSubscriber
currentContextMethods inherited from interface IntegrationManagement
getThisAsMethods inherited from interface NamedComponent
getBeanName, getComponentName
-
Constructor Details
-
Mqtt5MessageHandler
public Mqtt5MessageHandler(ClientManager<com.hivemq.client.mqtt.mqtt5.Mqtt5Client> mqttClientManager)
-
-
Method Details
-
setContentTypeExpressionString
Set the contentType expression; defaultheaders['mqtt_contentType'].- Parameters:
contentTypeExpression- the expression.
-
setContentTypeExpression
Set the contentType expression; defaultheaders['mqtt_contentType'].- Parameters:
contentTypeExpression- the expression.
-
setCorrelationDataExpressionString
Set the correlationData expression; defaultheaders['mqtt_correlationData'].- Parameters:
correlationDataExpression- the expression.
-
setCorrelationDataExpression
Set the correlationData expression; defaultheaders['mqtt_correlationData'].- Parameters:
correlationDataExpression- the expression.
-
setResponseTopicExpressionString
Set the responseTopic expression; defaultheaders['mqtt_responseTopic'].- Parameters:
responseTopicExpression- the expression.
-
setResponseTopicExpression
Set the responseTopic expression; defaultheaders['mqtt_responseTopic'].- Parameters:
responseTopicExpression- the expression.
-
setMessageExpiryIntervalExpressionString
Set the messageExpiryInterval expression; defaultheaders['mqtt_messageExpiryInterval'].- Parameters:
messageExpiryIntervalExpression- the expression.
-
setMessageExpiryIntervalExpression
Set the messageExpiryInterval expression; defaultheaders['mqtt_messageExpiryInterval'].- Parameters:
messageExpiryIntervalExpression- the expression.
-
setPayloadFormatIndicatorExpressionString
Set the payloadFormatIndicator expression; defaultheaders['mqtt_payloadFormatIndicator'].- Parameters:
payloadFormatIndicatorExpression- the expression.
-
setPayloadFormatIndicatorExpression
Set the payloadFormatIndicator expression; defaultheaders['mqtt_payloadFormatIndicator'].- Parameters:
payloadFormatIndicatorExpression- the expression.
-
setUserPropertiesExpressionString
Set the userProperties expression; defaultheaders['mqtt_userProperties'].- Parameters:
userPropertiesExpression- the expression.
-
setUserPropertiesExpression
Set the userProperties expression; defaultheaders['mqtt_userProperties'].- Parameters:
userPropertiesExpression- the expression.
-
isMqttMessage
- Specified by:
isMqttMessagein classAbstractMqttMessageHandler<com.hivemq.client.mqtt.mqtt5.Mqtt5Client>
-
buildMqttMessage
protected Object buildMqttMessage(String topic, byte[] body, com.hivemq.client.mqtt.datatypes.MqttQos qos, boolean retained, Message<?> message) - Specified by:
buildMqttMessagein classAbstractMqttMessageHandler<com.hivemq.client.mqtt.mqtt5.Mqtt5Client>
-
publishMqttMessage
- Specified by:
publishMqttMessagein classAbstractMqttMessageHandler<com.hivemq.client.mqtt.mqtt5.Mqtt5Client>
-