mqtt Ausnahme Zu viele veröffentlicht in progress (32202)
Ich bin mit paho mqttv3 java-client für die Veröffentlichung von Nachrichten, die gleichzeitig rund 2000 verbindungen, die durch erstellen von threads.
Nach einiger Zeit beginnt, geben MqttException ist folgt :
reason----- 32202
msg--------Too many publishes in progress
cause------ null
Habe ich zwar Qos-1.
Weiß jemand warum ich immer eine solche Ausnahme?
Vielen Dank im Voraus.
- Sind Sie mit der Paho synchrone oder asynchrone client?
- Ich bin auch immer der Fehler. Die Verwendung von asynchronen client mit qos-2.
- Ich bekomme diese Fehlermeldung, unabhängig davon, MqttClient oder MqttAsyncClient
- Ich bekomme diesen Fehler auch. In meinem Fall das problem ist der client.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich kam gerade über eine andere Frage, die Antwort hat mir geholfen, mit diesem problem.
Setzten Sie einen höheren MaxInflight Wert mit
setMaxInflight()
Methode aus derMqttConnectOptions
Objekt vor dem Anschluss an den broker.Den default-Wert auf 10 eingestellt ist.
Das ursprüngliche Thema ist : Senden Sie viele Nachricht veröffentlichen: Zu viele veröffentlicht in progress Fehler
Dies kann ein limit auf dem server oder client-Seite.
Wenn es ein server ist, beschränken, Sie sollten sich auf die spezifische Dokumentation auf, wie Sie tune es bis zu Griff mehr Kunden.
Wenn es ein client limit, dann statt
MqttClient
versuchen, dieMqttAsyncClient
(non-blocking) Java-client.Können Sie beginnen, die drei verschiedene Beispiele hier
Probe, die die API verwendet, die blockiert, bis die operation abgeschlossen ist,
SampleAsyncWait zeigt, wie die asynchrone API mit Kellnern, die blockiert, bis eine Aktion abgeschlossen ist
SampleAsyncCallBack zeigt, wie die asynchrone API, wo Ereignisse werden verwendet, um die Anwendung zu Benachrichtigen, wenn eine Aktion abgeschlossen ist