The micro broker supports two types of messaging for communicating
with its clients and with other brokers. The first uses messages built according
to the MQTT V3 protocol (details of which are publicly available, see below),
while the second uses the Java Messaging Service (JMS) API specification.
Each of these methods has its own strengths and weaknesses. The following
is a brief summary their features:
JMS
The micro broker JMS client provides a rich
messaging interface for business applications, and contains the following
functionality:
- Implements the J2EE JMS 1.1 standard interfaces
- Supports all of the JMS message payload types (Text, Bytes, Object, Map,
Stream)
- Supports both persistent and non-persistent delivery modes (equivalent
to QoS2 and QoS0 for MQTT – see below)
- Provides JMS constructs and transactional models
- Supports synchronous and asynchronous consumers
- Supports durable subscriptions
- Supports JMS selectors
- Supports the “No local” property
- Supports the JNDI administration model
- Does not support XA transactions
MQTT
The micro broker MQTT client is designed for
applications that need a lightweight but functional protocol. It includes
the following functionality:
- Designed to support specialized embedded applications, particularly in
constrained environments
- Uses the MQTT pervasive messaging protocol
- Supports only the publish/subscribe messaging paradigm
- Supports asynchronous message delivery only
- Supports retained publications
- Provides a raw byte message format with no user defined header properties
- Offers no support for application control of transactions, “no local”
or message selectors
- Provides three qualities of service (QoS) for message delivery as per
the MQTT specification (see below)
- Provides an optimized proprietary programming model
- Implements a listener callback pattern for delivery of messages, loss
of network connectivity, and so on
The JMS interface is well documented in the Sun specification.
The next section provides some further information about the ADD LINK HERE
MQTT protocol.