To follow up, the solution for us was to subscribe using a shared subscription:
This initially didn’t work with the MQTT Connector because the topic coming in did not match but I modified the java slightly to do a contains instead of a match when it was trying to figure out which microflow to use for the topic.
This only works if your MQTT Broker supports Shared Subscriptions.
Interesting. I’m under the impression that the QoS 2 is taking care of that:
Use QoS 2 when …
But I never tested it on a multi-node application. In that case, the node that replies,s first should get the Pubrec and the Pubcomp answers, the other not.
Can you test changing it to QoS 2 (Exactly once) and tell me if it worked? IF not, you could implement something on top to duplicate … (but that is a lot of overhead).
Go Make IT.