Увеличьте время MQTT между PUBLISH и PUBCOMP - PullRequest
0 голосов
/ 11 декабря 2018

Весной я настроил абонента MQTT, используя интеграцию Spring MQTT.В методе handleMessage я выполняю определенную бизнес-логику, которая требует времени.Во время тестирования я заметил, что когда я отправляю большое количество сообщений, Брокер повторно публикует то же сообщение, что и исходное сообщение ( Я проверил, является ли полезная нагрузка сообщения дублирующейся, она отправляла как оригинальную ). MQTT-брокер снова публикует сообщение еще до того, как подписчик может отправить PUCOMP .Уровень QOS установлен на 2

1 Ответ

0 голосов
/ 11 декабря 2018

Вы не должны выполнять долго выполняющиеся задачи в обратном вызове handleMessage, так как он запускается в сетевом потоке клиентов MQTT.

Если у вас есть долго выполняющееся задание, вы должны передать его отдельномупул потоков для запуска.

...