Solace Community is getting a facelift!

On March 3rd we will be starting the process of migrating Solace Community to a new platform. As a result, Solace Community will go in to a temporary read-only state. You will still be able to come onto Solace Community and search through posts to find answers, but you won't be able to ask questions, post comments, or react in any way.

We hope to have the migration complete by Wednesday March 5th (or sooner), so please keep an eye out!

Kind of guaranteed messaging with mqtt QoS 0

jesper
jesper Member Posts: 8
edited January 2023 in General Discussions #1

Hello solace community,

i have a mqtt subscriber client that can only work with QoS 0 and non durable queues. Let's say mqtt Client MQ1 subscribes to a/b/c with queue QU1.

On the other hand i want to prevent data loss and have the risk that the mqtt client is not online and the non durable queue QU1 is not there. So if the client MQ1 is not active messages with topic a/b/c will not be published to queue QU1 (=data loss)

We discussed a solution by adding an additional durable queue QD1 with subscription to a/b/c. An internal java client consumes these messages a/b/c, check the existence of the non durable queue QU1 and if the queue exists the java client publishes the message to a different topic a/b/d to queue QU1.


This solution is really not that nice. Is there another setup how to prevent data in this scenario?

Dead message queue?

Best regards

Jens

Answers

  • uherbst
    uherbst Member, Employee Posts: 131 Solace Employee

    Hi Jens,


    short answer: MQTT QoS0 is all about direct messaging - no queues involved. If you want to prevent data loss, you have to change your QoS-0-client.


    Happy to discuss details in a conf call.


    Uli

    (Contact me here: ulrich.herbst@solace.com)

This Month's Leaders

This Week's Leaders