MQTT publish/subscribe applications
Use topic-based publish/subscribe to write MQTT applications.
When the MQTT client is connected, publications flow in either direction between the client and server. The publications are sent from the client when information is published at the client. Publications are received at the client when a message is published to a topic that matches a subscription created by the client.
The WebSphere® MQ publish/subscribe broker manages the topics and subscriptions created by MQTT clients. The topics created by MQTT clients share the same topic space as topics created by WebSphere MQ applications.
Publications that match the topic string in an MQTT client subscription
are placed on SYSTEM.MQTT.TRANSMIT.QUEUE
with the
remote queue manager name set to the ClientIdentifier of
the client. The telemetry (MQXR) service forwards the publications to the
client that created the subscription. It uses ClientIdentifier,
which has been set as the remote queue manager name to identify the
client.
Typically, SYSTEM.MQTT.TRANSMIT.QUEUE
must be
defined as the default transmission queue. It is possible, but onerous,
to configure MQTT not to use the default transmission queue; see Configure distributed queuing to send messages to MQTT clients
.
An MQTT client can create a persistent session; see MQTT stateless and stateful sessions. Subscriptions created in a persistent
session are durable. Publications that arrive for a client with a
persistent session are stored in SYSTEM.MQTT.TRANSMIT.QUEUE
,
and forwarded to the client when it reconnects.
An MQTT client can also publish and subscribe to retained publications; see Retained publications and MQTT clients. A subscriber to a retained publication topic receives the latest publication to the topic. The subscriber receives the retained publication when it creates a subscription, or when it reconnects to its earlier session.