diff --git a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java index 663caa071..9bab25b66 100755 --- a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java +++ b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java @@ -2454,7 +2454,7 @@ public ErrorCode recallMessage(long messageUid, String operatorId, String client } boolean isExpired = false; if (!canRecall && message.getFromUser().equals(operatorId)) { - if (now - message.getServerTimestamp() > mRecallTimeLimit * 1000) { + if (mRecallTimeLimit > 0 && now - message.getServerTimestamp() > mRecallTimeLimit * 1000) { isExpired = true; } else { canRecall = true;