rabbitmq / rabbitmq-mqtt

RabbitMQ MQTT plugin

Home Page:https://www.rabbitmq.com/mqtt.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MQTT Topics with Multi Level: #

freeunion1possible opened this issue · comments

commented

Hi,

I would like use rabbitmq(v3.7.0) mqtt(mqtt client paho) protocol to implement message broadcast.

My test case was 2 clients to subscribed the topic mqtt/things/broadcast/1, mqtt/things/broadcast/2.

  1. client 1 connected to mqtt broker and get the topic message which like Qos=1 and Retained=true
    client.subscribe(new String[]{"mqtt/things/broadcast/#"}, new int[]{MqttQoS.AT_LEAST_ONCE.value()});

  2. client 2 connected to the mqtt broker by manual after the message published and try to use client.subscribe(new String[]{"mqtt/things/broadcast/#"}, new int[]{MqttQoS.AT_LEAST_ONCE.value()}); get the Retained message, but failed. but it worked well under mosquitto.

  3. when client 2 used client.subscribe(new String[]{"mqtt/things/broadcast/1", "mqtt/things/broadcast/2"}, new
    int[]{MqttQoS.AT_LEAST_ONCE.value(),MqttQoS.AT_LEAST_ONCE.value()}); it succeed.

I am confused, it's a bug? Anybody can help me to explain the root cause, thanks in advance!

Thank you for your time.

Team RabbitMQ uses GitHub issues for specific actionable items engineers can work on. This assumes two things:

  1. GitHub issues are not used for questions, investigations, root cause analysis, discussions of potential issues, etc (as defined by this team)
  2. We have a certain amount of information to work with

We get at least a dozen of questions through various venues every single day, often quite light on details.
At that rate GitHub issues can very quickly turn into a something impossible to navigate and make sense of even for our team. Because of that questions, investigations, root cause analysis, discussions of potential features are all considered to be mailing list material by our team. Please post this to rabbitmq-users.

Getting all the details necessary to reproduce an issue, make a conclusion or even form a hypothesis about what's happening can take a fair amount of time. Our team is multiple orders of magnitude smaller than the RabbitMQ community. Please help others help you by providing a way to reproduce the behavior you're
observing, or at least sharing as much relevant information as possible on the list:

  • Server, client library and plugin (if applicable) versions used
  • Server logs
  • A code example or terminal transcript that can be used to reproduce
  • Full exception stack traces (not a single line message)
  • rabbitmqctl status (and, if possible, rabbitmqctl environment output)
  • Other relevant things about the environment and workload, e.g. a traffic capture

Feel free to edit out hostnames and other potentially sensitive information.

When/if we have enough details and evidence we'd be happy to file a new issue.

Thank you.