ここPAHO非同期クライアントである:ここで送る多くのメッセージを公開:あまりにも多くの進捗エラーで公開してい
client = new MqttAsyncClient(appProps.getProperty("mqtt.broker"),
appProps.getProperty("mqtt.clientId"), new MemoryPersistence());
client.setCallback(this);
client.connect(null, new IMqttActionListener() {
@Override
public void onSuccess(IMqttToken imt) {
try {
client.subscribe(Constants.internalTopics, Constants.internalTopicQOS);
} catch (MqttException ex) {
ex.printStackTrace();
}
}
@Override
public void onFailure(IMqttToken imt, Throwable thrwbl) {
thrwbl.printStackTrace();
}
});
私はループ内でメッセージを送信しています:
while (iterator.hasNext()) {
try {
client.publish("user/" + userId + "/downstream", mqttMessage);
} catch(Exception ex) {
ex.printStackTrace();
}
}
エラー:
Too many publishes in progress (32202)
at org.eclipse.paho.client.mqttv3.internal.ClientState.send(ClientState.java:436)
at org.eclipse.paho.client.mqttv3.internal.ClientComms.internalSend(ClientComms.java:121)
at org.eclipse.paho.client.mqttv3.internal.ClientComms.sendNoWait(ClientComms.java:139)
at org.eclipse.paho.client.mqttv3.MqttAsyncClient.publish(MqttAsyncClient.java:858)
at org.eclipse.paho.client.mqttv3.MqttAsyncClient.publish(MqttAsyncClient.java:836)
は、
私は使用していますRabbitmq
キューにはいくつのメッセージがあるのかなど、ここでは本当に便利なコンテキストがありますか?エラーが到着したときにあなたはどのくらいあなたのところにいますか? – hardillb
私は反復している1000のリストを持っていました。私は200-300に達した後にそれがエラーをスローすることを発見した。当時のもう1つのことは、1000件のトピックすべてに加入者がいなかったことです。だから、ただの出版社でない購読者 – manish