Skip to content

Commit 0ac5866

Browse files
authored
Merge pull request #229 from jpwsutton/develop
Persisted Buffered Message fix issue #224
2 parents ab63b7f + 8f0a79a commit 0ac5866

2 files changed

Lines changed: 5 additions & 1 deletion

File tree

  • org.eclipse.paho.client.mqttv3/src/main

org.eclipse.paho.client.mqttv3/src/main/java-templates/org/eclipse/paho/client/mqttv3/internal/ClientComms.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,9 @@ public void sendNoWait(MqttWireMessage message, MqttToken token) throws MqttExce
160160
} else if(disconnectedMessageBuffer != null && isResting()){
161161
//@TRACE 508=Client Resting, Offline Buffer available. Adding message to buffer. message={0}
162162
log.fine(CLASS_NAME, methodName, "508", new Object[] {message.getKey()});
163-
this.clientState.persistBufferedMessage(message);
163+
if(disconnectedMessageBuffer.isPersistBuffer()){
164+
this.clientState.persistBufferedMessage(message);
165+
}
164166
disconnectedMessageBuffer.putMessage(message, token);
165167
} else {
166168
//@TRACE 208=failed: not connected

org.eclipse.paho.client.mqttv3/src/main/java/org/eclipse/paho/client/mqttv3/internal/ClientState.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1090,6 +1090,7 @@ protected void notifyComplete(MqttToken token) throws MqttException {
10901090

10911091
// QoS 1 - user notified now remove from persistence...
10921092
persistence.remove(getSendPersistenceKey(message));
1093+
persistence.remove(getSendBufferedPersistenceKey(message));
10931094
outboundQoS1.remove(new Integer(ack.getMessageId()));
10941095
decrementInFlight();
10951096
releaseMessageId(message.getMessageId());
@@ -1101,6 +1102,7 @@ protected void notifyComplete(MqttToken token) throws MqttException {
11011102
// QoS 2 - user notified now remove from persistence...
11021103
persistence.remove(getSendPersistenceKey(message));
11031104
persistence.remove(getSendConfirmPersistenceKey(message));
1105+
persistence.remove(getSendBufferedPersistenceKey(message));
11041106
outboundQoS2.remove(new Integer(ack.getMessageId()));
11051107

11061108
inFlightPubRels--;

0 commit comments

Comments
 (0)