we have defined a Thing with MQTT Template, receiving packets from MQTT broker.
Packets are coming and stored in a stream, but sometimes packets are lost.
We know that these packets have been sent from the MQTT broker but we don't find them in the stream.
The packet is received into a JSON property, and the subscription (defined on data change) read the JSON and transform it to store into the stream.
Any idea ? Many thank Dimitri
Solved! Go to Solution.
how rapidly are these messages coming in at times?
anything with a timestamp within 3 ms will not go into the stream or overwrite the existing entry.
So especially if you are queueing a lot of messages to be processed at once you might run into this issue.
Either you bulk / cache the incoming messages and process them as 'one' or you may have to force a 3ms pause() before writing the subsequent messages to be certain.
packets are submitted from many machines then the we receive then with high frequency.
How can i 'bulk / cache the incoming messages' in order to avoid to loose packets.
I cannot set a pause because I don't manage the submit on the Mqtt Broker.
I Just manage only the subscription on Thingworx.