Class MQTTUtil
- java.lang.Object
-
- org.apache.activemq.artemis.core.protocol.mqtt.MQTTUtil
-
public class MQTTUtil extends java.lang.ObjectA Utility Class for creating Server Side objects and converting MQTT concepts to/from Artemis.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMQTTUtil.MQTTWildcardConfiguration
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_MAXIMUM_PACKET_SIZEstatic intDEFAULT_RECEIVE_MAXIMUMstatic intDEFAULT_SERVER_KEEP_ALIVEstatic intDEFAULT_TOPIC_ALIAS_MAXstatic booleanDURABLE_MESSAGESstatic longFOUR_BYTE_INT_MAXstatic longKEEP_ALIVE_ADJUSTMENTstatic java.lang.StringMANAGEMENT_QUEUE_PREFIXstatic intMAX_PACKET_SIZEstatic org.apache.activemq.artemis.api.core.SimpleStringMQTT_CONTENT_TYPE_KEYstatic org.apache.activemq.artemis.api.core.SimpleStringMQTT_CORRELATION_DATA_KEYstatic org.apache.activemq.artemis.api.core.SimpleStringMQTT_MESSAGE_ID_KEYstatic org.apache.activemq.artemis.api.core.SimpleStringMQTT_MESSAGE_RETAIN_KEYstatic org.apache.activemq.artemis.api.core.SimpleStringMQTT_MESSAGE_TYPE_KEYstatic org.apache.activemq.artemis.api.core.SimpleStringMQTT_PAYLOAD_FORMAT_INDICATOR_KEYstatic org.apache.activemq.artemis.api.core.SimpleStringMQTT_QOS_LEVEL_KEYstatic org.apache.activemq.artemis.api.core.SimpleStringMQTT_RESPONSE_TOPIC_KEYstatic java.lang.StringMQTT_RETAIN_ADDRESS_PREFIXstatic java.lang.StringMQTT_USER_PROPERTY_EXISTS_KEYstatic java.lang.StringMQTT_USER_PROPERTY_KEY_PREFIXstatic org.apache.activemq.artemis.api.core.SimpleStringMQTT_USER_PROPERTY_KEY_PREFIX_SIMPLEstatic org.apache.activemq.artemis.core.config.WildcardConfigurationMQTT_WILDCARDstatic booleanSESSION_AUTO_COMMIT_ACKSstatic booleanSESSION_AUTO_COMMIT_SENDSstatic booleanSESSION_AUTO_CREATE_QUEUEstatic booleanSESSION_PREACKNOWLEDGEstatic booleanSESSION_XAstatic java.lang.StringSHARED_SUBSCRIPTION_PREFIXstatic intTWO_BYTE_INT_MAXstatic intVARIABLE_BYTE_INT_MAX
-
Constructor Summary
Constructors Constructor Description MQTTUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static intcalculateMessageSize(io.netty.handler.codec.mqtt.MqttPublishMessage message)static intcalculateRemainingLength(java.lang.String topicName, io.netty.handler.codec.mqtt.MqttProperties properties, io.netty.buffer.ByteBuf payload)static java.lang.StringconvertCoreAddressToMqttTopicFilter(java.lang.String address, org.apache.activemq.artemis.core.config.WildcardConfiguration wildcardConfiguration)static java.lang.StringconvertMqttTopicFilterToCoreAddress(java.lang.String prefixToAdd, java.lang.String filter, org.apache.activemq.artemis.core.config.WildcardConfiguration wildcardConfiguration)static java.lang.StringconvertMqttTopicFilterToCoreAddress(java.lang.String filter, org.apache.activemq.artemis.core.config.WildcardConfiguration wildcardConfiguration)static org.apache.activemq.artemis.api.core.MessagecreatePubRelMessage(MQTTSession session, org.apache.activemq.artemis.api.core.SimpleString address, int messageId)static org.apache.activemq.artemis.api.core.MessagecreateServerMessageFromByteBuf(MQTTSession session, java.lang.String topic, io.netty.handler.codec.mqtt.MqttPublishMessage mqttPublishMessage)static <T> TgetProperty(java.lang.Class<T> type, io.netty.handler.codec.mqtt.MqttProperties properties, io.netty.handler.codec.mqtt.MqttProperties.MqttPropertyType propertyName)static <T> TgetProperty(java.lang.Class<T> type, io.netty.handler.codec.mqtt.MqttProperties properties, io.netty.handler.codec.mqtt.MqttProperties.MqttPropertyType propertyName, T defaultReturnValue)static voidlogMessage(MQTTSessionState state, io.netty.handler.codec.mqtt.MqttMessage message, boolean inbound)
-
-
-
Field Detail
-
DURABLE_MESSAGES
public static final boolean DURABLE_MESSAGES
- See Also:
- Constant Field Values
-
SESSION_AUTO_COMMIT_SENDS
public static final boolean SESSION_AUTO_COMMIT_SENDS
- See Also:
- Constant Field Values
-
SESSION_AUTO_COMMIT_ACKS
public static final boolean SESSION_AUTO_COMMIT_ACKS
- See Also:
- Constant Field Values
-
SESSION_PREACKNOWLEDGE
public static final boolean SESSION_PREACKNOWLEDGE
- See Also:
- Constant Field Values
-
SESSION_XA
public static final boolean SESSION_XA
- See Also:
- Constant Field Values
-
SESSION_AUTO_CREATE_QUEUE
public static final boolean SESSION_AUTO_CREATE_QUEUE
- See Also:
- Constant Field Values
-
MQTT_RETAIN_ADDRESS_PREFIX
public static final java.lang.String MQTT_RETAIN_ADDRESS_PREFIX
- See Also:
- Constant Field Values
-
MQTT_QOS_LEVEL_KEY
public static final org.apache.activemq.artemis.api.core.SimpleString MQTT_QOS_LEVEL_KEY
-
MQTT_MESSAGE_ID_KEY
public static final org.apache.activemq.artemis.api.core.SimpleString MQTT_MESSAGE_ID_KEY
-
MQTT_MESSAGE_TYPE_KEY
public static final org.apache.activemq.artemis.api.core.SimpleString MQTT_MESSAGE_TYPE_KEY
-
MQTT_MESSAGE_RETAIN_KEY
public static final org.apache.activemq.artemis.api.core.SimpleString MQTT_MESSAGE_RETAIN_KEY
-
MQTT_PAYLOAD_FORMAT_INDICATOR_KEY
public static final org.apache.activemq.artemis.api.core.SimpleString MQTT_PAYLOAD_FORMAT_INDICATOR_KEY
-
MQTT_RESPONSE_TOPIC_KEY
public static final org.apache.activemq.artemis.api.core.SimpleString MQTT_RESPONSE_TOPIC_KEY
-
MQTT_CORRELATION_DATA_KEY
public static final org.apache.activemq.artemis.api.core.SimpleString MQTT_CORRELATION_DATA_KEY
-
MQTT_USER_PROPERTY_EXISTS_KEY
public static final java.lang.String MQTT_USER_PROPERTY_EXISTS_KEY
- See Also:
- Constant Field Values
-
MQTT_USER_PROPERTY_KEY_PREFIX
public static final java.lang.String MQTT_USER_PROPERTY_KEY_PREFIX
- See Also:
- Constant Field Values
-
MQTT_USER_PROPERTY_KEY_PREFIX_SIMPLE
public static final org.apache.activemq.artemis.api.core.SimpleString MQTT_USER_PROPERTY_KEY_PREFIX_SIMPLE
-
MQTT_CONTENT_TYPE_KEY
public static final org.apache.activemq.artemis.api.core.SimpleString MQTT_CONTENT_TYPE_KEY
-
MANAGEMENT_QUEUE_PREFIX
public static final java.lang.String MANAGEMENT_QUEUE_PREFIX
- See Also:
- Constant Field Values
-
SHARED_SUBSCRIPTION_PREFIX
public static final java.lang.String SHARED_SUBSCRIPTION_PREFIX
- See Also:
- Constant Field Values
-
FOUR_BYTE_INT_MAX
public static final long FOUR_BYTE_INT_MAX
-
TWO_BYTE_INT_MAX
public static final int TWO_BYTE_INT_MAX
-
VARIABLE_BYTE_INT_MAX
public static final int VARIABLE_BYTE_INT_MAX
- See Also:
- Constant Field Values
-
MAX_PACKET_SIZE
public static final int MAX_PACKET_SIZE
- See Also:
- Constant Field Values
-
KEEP_ALIVE_ADJUSTMENT
public static final long KEEP_ALIVE_ADJUSTMENT
- See Also:
- Constant Field Values
-
DEFAULT_SERVER_KEEP_ALIVE
public static final int DEFAULT_SERVER_KEEP_ALIVE
- See Also:
- Constant Field Values
-
DEFAULT_TOPIC_ALIAS_MAX
public static final int DEFAULT_TOPIC_ALIAS_MAX
-
DEFAULT_RECEIVE_MAXIMUM
public static final int DEFAULT_RECEIVE_MAXIMUM
-
DEFAULT_MAXIMUM_PACKET_SIZE
public static final int DEFAULT_MAXIMUM_PACKET_SIZE
- See Also:
- Constant Field Values
-
MQTT_WILDCARD
public static final org.apache.activemq.artemis.core.config.WildcardConfiguration MQTT_WILDCARD
-
-
Method Detail
-
convertMqttTopicFilterToCoreAddress
public static java.lang.String convertMqttTopicFilterToCoreAddress(java.lang.String filter, org.apache.activemq.artemis.core.config.WildcardConfiguration wildcardConfiguration)
-
convertMqttTopicFilterToCoreAddress
public static java.lang.String convertMqttTopicFilterToCoreAddress(java.lang.String prefixToAdd, java.lang.String filter, org.apache.activemq.artemis.core.config.WildcardConfiguration wildcardConfiguration)
-
convertCoreAddressToMqttTopicFilter
public static java.lang.String convertCoreAddressToMqttTopicFilter(java.lang.String address, org.apache.activemq.artemis.core.config.WildcardConfiguration wildcardConfiguration)
-
createServerMessageFromByteBuf
public static org.apache.activemq.artemis.api.core.Message createServerMessageFromByteBuf(MQTTSession session, java.lang.String topic, io.netty.handler.codec.mqtt.MqttPublishMessage mqttPublishMessage)
-
createPubRelMessage
public static org.apache.activemq.artemis.api.core.Message createPubRelMessage(MQTTSession session, org.apache.activemq.artemis.api.core.SimpleString address, int messageId)
-
logMessage
public static void logMessage(MQTTSessionState state, io.netty.handler.codec.mqtt.MqttMessage message, boolean inbound)
-
calculateRemainingLength
public static int calculateRemainingLength(java.lang.String topicName, io.netty.handler.codec.mqtt.MqttProperties properties, io.netty.buffer.ByteBuf payload)
-
calculateMessageSize
public static int calculateMessageSize(io.netty.handler.codec.mqtt.MqttPublishMessage message)
-
getProperty
public static <T> T getProperty(java.lang.Class<T> type, io.netty.handler.codec.mqtt.MqttProperties properties, io.netty.handler.codec.mqtt.MqttProperties.MqttPropertyType propertyName)
-
getProperty
public static <T> T getProperty(java.lang.Class<T> type, io.netty.handler.codec.mqtt.MqttProperties properties, io.netty.handler.codec.mqtt.MqttProperties.MqttPropertyType propertyName, T defaultReturnValue)
-
-