Working with MQTT Triggers
MQTT is a messaging transport protocol that uses a publish-and-subscribe model. Integration Server supports MQTT version 3.1.1 by providing the ability to publish messages to topics on an MQTT server via a public service and subscribe to topics on the MQTT server via an MQTT trigger.
An MQTT trigger subscribes to a topic on an MQTT server and then specifies how Integration Server processes the messages the trigger receives. An MQTT trigger can receive messages sent by other MQTT clients, whether that client is an Integration Server or another device.
An MQTT trigger has two basic pieces:
A subscription to a topic on an MQTT server. The subscription can include wildcards which allows a single MQTT trigger to subscribe to multiple topics. A subscription also specifies the Quality of Service (QoS) level the MQTT server uses when transmitting the message to the trigger.
A service that processes messages. When an MQTT trigger receives a message from a topic to which it subscribes, the MQTT trigger invokes the specified trigger service placing the MQTT message payload in the pipeline as either a String or a byte[].
An MQTT trigger specifies the MQTT connection alias that the trigger uses to connect to the MQTT server. While the main purpose of an MQTT connection alias is to encapsulate the information needed to establish a connection between Integration Server and the MQTT server, the MQTT connection alias also specifies whether MQTT triggers that use the alias establish persistent sessions on the MQTT server. If the trigger has persistent sessions, messages sent while the trigger is disconnected will be kept if the Quality of Service (QoS) is 1 or 2. The MQTT trigger will retrieve missed messages when it reconnects.
In addition to subscription and routing information, MQTT triggers specify message acknowledgment, message processing behavior, and retry handling.