diff --git a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java index d4740624..208ab372 100755 --- a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java +++ b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java @@ -138,7 +138,13 @@ public class MemoryMessagesStore implements IMessagesStore { private void updateSensitiveWord() { long now = System.currentTimeMillis(); if (now - lastUpdateSensitiveTime > 2 * 60 * 60 * 1000) { - lastUpdateSensitiveTime = now; + synchronized (this) { + if (now - lastUpdateSensitiveTime > 2 * 60 * 60 * 1000) { + lastUpdateSensitiveTime = now; + } else { + return; + } + } Set sensitiveWords = databaseStore.getSensitiveWord(); mSensitiveFilter = new SensitiveFilter(sensitiveWords); } @@ -2027,6 +2033,7 @@ public class MemoryMessagesStore implements IMessagesStore { words) { databaseStore.persistSensitiveWord(word); } + lastUpdateSensitiveTime = 0; return true; }