Reputation: 2007
I have an MQTT callback that forwards part of the data from the message received via a SOAP endpoint, but when the SOAP endpoint is faulty those messages just get lost and never arrive at the final consumer.
I'm aware of the different QOS and the delivery tokens, but I'm not sure if any of those would actually help me retry sending those messages for example after triggering an exception. Can messages be "returned" to the topic for later retrying or something like that to ensure proper processing of the complete message?
On the client side I'm using Eclipse-Paho, via Maven:
<dependency>
<groupId>org.eclipse.paho</groupId>
<artifactId>org.eclipse.paho.client.mqttv3</artifactId>
<version>1.0.1</version>
</dependency>
From this repository: https://repo.eclipse.org/content/repositories/paho-releases
On the server side:
Debian GNU/Linux 8.5 (jessie)
mosquitto 1.3.4-2 (MQTT version 3.1/3.1.1 compatible)
What else should I provide?
Upvotes: 0
Views: 1207
Reputation: 59608
No, once delivered to a client a message is totally gone from the MQTT system.
It is up to you to build any storage and retry logic into the MQTT client app to handle any failures in down stream systems.
Upvotes: 1