Skip to content

Commit

Permalink
Merge pull request #147 from rabbitmq/rabbitmq-mqtt-21
Browse files Browse the repository at this point in the history
Docs for downgrading QoS2 to QoS1
  • Loading branch information
michaelklishin committed Jan 27, 2016
2 parents 84eb0eb + a44817d commit 9d9d94b
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 4 deletions.
2 changes: 1 addition & 1 deletion site/confirms.xml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ limitations under the License.
An example in Java that publishes a large number of
messages to a channel in confirm mode and waits for the
acknowledgements can be found <a
href="https://raw.githubusercontent.com/rabbitmq/rabbitmq-java-client/master/test/src/com/rabbitmq/examples/ConfirmDontLoseMessages.java">here</a>.
href="https://raw.githubusercontent.com/rabbitmq/rabbitmq-java-client/master/src/test/java/com/rabbitmq/examples/ConfirmDontLoseMessages.java">here</a>.
</p>

<h3>Negative Acknowledgment</h3>
Expand Down
14 changes: 11 additions & 3 deletions site/mqtt.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
Copyright (c) 2007-2016 Pivotal Software, Inc.
All rights reserved. This program and the accompanying materials
are made available under the terms of the under the Apache License,
Version 2.0 (the "License”); you may not use this file except in compliance
are made available under the terms of the under the Apache License,
Version 2.0 (the "License”); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Expand All @@ -22,6 +22,7 @@ RabbitMQ supports MQTT as of 3.0 (currently targeting version 3.1.1 of the spec)
## <a id="smf"/> Supported MQTT 3.1.1 features

* QoS0 and QoS1 publish & consume
* QoS2 publish (downgraded to QoS1)
* Last Will and Testament (LWT)
* TLS/SSL
* Session stickiness
Expand Down Expand Up @@ -57,7 +58,7 @@ to inspect queue sizes, message rates, and so on.

### <a id="durability"/> Subscription Durability

MQTT 3.1 assumes two primary usage scenarios:
MQTT 3.1 assumes three primary usage scenarios:

* Transient clients that use transient (non-persistent) messages
* Stateful clients that use durable subscriptions (non-clean sessions, QoS1)
Expand All @@ -80,6 +81,13 @@ Queues created for MQTT subscribers will have names starting with `mqtt-subscrip
one per subscription QoS level. The queues will have [queue TTL](/ttl.html) depending
on MQTT plugin configuration, 24 hours by default.

**RabbitMQ does not support QoS2 subscriptions**. RabbitMQ
automatically downgrades QoS 2 publishes and subscribes to QoS
1. Messages published as QoS 2 will be sent to subscribers as QoS 1.
Subscriptions with QoS 2 will be downgraded to QoS1 during SUBSCRIBE
request (SUBACK responses will contain the actually provided QoS
level).


## <a id="config"/> Plugin Configuration

Expand Down

0 comments on commit 9d9d94b

Please sign in to comment.